Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeRDark
SUBSCRIBE
id:sub-1
destination:/user/service

^@

Отправка запросов и получение ответов

Запросы  отправляются в виде STOMP-сообщений, например

Code Block
themeRDark
SEND
destination:/app/api/metric/list
content-length:99

{"requestId":"f14853ae-8413-47e7-bb52-76cb4536ad69","realm":"/api/metric/list","payload":{"id":""}}^@

Здесь:

  • destination - URI запроса
  • content-length - длина тела запроса

Тело запроса представляет собой JSON объект со следующими параметрами:

  • requestId - уникальный идентификатор запроса
  • realm - используемый метод
  • payload - данные запроса, состав зависит от используемого метода

Ответ на запрос будет получен асинхронно, в очереди /user/service в виде STOMP-сообщения, например

Code Block
themeRDark
MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-7
content-length:861

{"requestId":"f14853ae-8413-47e7-bb52-76cb4536ad69","status":200,"reason":"SUCCESS","payload":[{"id":1,"name":"Video height","note":"","enumName":"VIDEO_HEIGHT"},{"id":2,"name":"Video width","note":"","enumName":"VIDEO_WIDTH"},{"id":3,"name":"Video rate","note":"","enumName":"VIDEO_RATE"},{"id":4,"name":"Video sync","note":"","enumName":"VIDEO_SYNC"},{"id":5,"name":"Video FPS","note":"","enumName":"VIDEO_FPS"},{"id":6,"name":"Video NAck","note":"","enumName":"VIDEO_NACK"},{"id":7,"name":"Video PLI","note":"","enumName":"VIDEO_PLI"},{"id":8,"name":"Video codec","note":"","enumName":"VIDEO_CODEC"},{"id":9,"name":"Audio sync","note":"","enumName":"AUDIO_SYNC"},{"id":10,"name":"Audio rate","note":"","enumName":"AUDIO_RATE"},{"id":11,"name":"Audio lost","note":"","enumName":"AUDIO_LOST"},{"id":12,"name":"Audio codec","note":"","enumName":"AUDIO_CODEC"}]}^@

Здесь:

  • destination - URI очереди
  • content-type - тип содержимого
  • subscription: - идентификатор подписки
  • message-id - идентификатор сообщения
  • content-length - длина тела ответа

Тело запроса представляет собой JSON объект со следующими параметрами:

  • requestId - уникальный идентификатор запроса
  • status - стандартный HTTP статус ответа
  • reason - текстовое представление статуса
  • payload - данные ответа, состав зависит от запроса и статуса ответа

Взаимодействие при помощи REST API

...