Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
about-rest-detailed [2020/01/24 09:33] admin1 [GET запрос] |
about-rest-detailed [2020/03/05 08:43] (текущий) admin1 |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| //Оригинал статьи: [[https://github.com/nordic-institute/X-Road/blob/develop/doc/Protocols/pr-rest_x-road_message_protocol_for_rest.md|X-Road: Message Protocol for REST]] // | //Оригинал статьи: [[https://github.com/nordic-institute/X-Road/blob/develop/doc/Protocols/pr-rest_x-road_message_protocol_for_rest.md|X-Road: Message Protocol for REST]] // | ||
| + | //Автор: Владимир Недорослев// | ||
| ====== REST сервисы в X-Road ====== | ====== REST сервисы в X-Road ====== | ||
| Строка 12: | Строка 13: | ||
| Участник/Подсистема отправителя указываются в заголовке HTTP. Используемый сервис указывается в самом URL в виде параметров. | Участник/Подсистема отправителя указываются в заголовке HTTP. Используемый сервис указывается в самом URL в виде параметров. | ||
| - | **Формат запроса:**\\ | + | ===== Формат запроса ===== |
| {http-request-method} /{protocol-version}/{serviceId}[/path][?query-parameters] | {http-request-method} /{protocol-version}/{serviceId}[/path][?query-parameters] | ||
| Строка 24: | Строка 26: | ||
| - | ==== Заголовки HTTP запроса ==== | + | ===== Заголовки HTTP запроса ===== |
| Строка 31: | Строка 33: | ||
| **{client}** — информация о том, кто обращается к сервису. Состоит из следующих частей: | **{client}** — информация о том, кто обращается к сервису. Состоит из следующих частей: | ||
| - | [X-Road instance]/[member class]/[member code]/[subsystem code]. | + | [X-Road instance]/[member class]/[member code]/[subsystem code] |
| **[Subsystem code]** является не обязательным. | **[Subsystem code]** является не обязательным. | ||
| Например:\\ | Например:\\ | ||
| Строка 52: | Строка 54: | ||
| X-Road-Request-Id: f92591a3-6bf0-49b1-987b-0dd78c034cc3 | X-Road-Request-Id: f92591a3-6bf0-49b1-987b-0dd78c034cc3 | ||
| - | ==== Заголовок Accept ==== | + | ===== Заголовок Accept ===== |
| Строка 184: | Строка 186: | ||
| Пример предполагает, что serviceID привязан к https://petstore.niis.org/. | Пример предполагает, что serviceID привязан к https://petstore.niis.org/. | ||
| - | Обратите внимание: | + | **__Обратите внимание:__ каждый запрос должен содержать аттрибут {protocol-version} (см. |
| + | [[about-rest-detailed#Формат запроса|Формат запроса]]).**\\ | ||
| + | **Например:** ''r1'' | ||
| ===== GET запрос ===== | ===== GET запрос ===== | ||
| Строка 224: | Строка 228: | ||
| Параметры - body – объект Pet, который будет обновлён. | Параметры - body – объект Pet, который будет обновлён. | ||
| - | |||
| - | **Вызов сервиса напрямую**: | ||
| - | curl -X PUT "https://petstore.niis.org/v2/pets/5657082955040009" -H "accept: application/json" -H "Content-Type: application/json" -d '{ "id": 0, "category": { "id": 0, "name": "string" }, "name": "doggie", "photoUrls": [ "string" ], "tags": [ { "id": 0, "name": "string" } ], "status": "available"}' | ||
| **Вызов сервиса через X-Road**: | **Вызов сервиса через X-Road**: | ||
| Строка 270: | Строка 271: | ||
| Описание - Добавляет нового питомца. | Описание - Добавляет нового питомца. | ||
| Параметры - body – объект Pet, который будет добавлен. | Параметры - body – объект Pet, который будет добавлен. | ||
| - | |||
| - | **Вызов сервиса напрямую**: | ||
| - | curl -X POST "https://petstore.niis.org/v2/pets" -H "accept: application/json" -H "Content-Type: application/json" -d '{ "id": 0, "category": { "id": 0, "name": "string" }, "name": "doggie", "photoUrls": [ "string" ], "tags": [ { "id": 0, "name": "string" } ], "status": "available"}' | ||
| **Вызов сервиса через X-Road**: | **Вызов сервиса через X-Road**: | ||
| Строка 315: | Строка 313: | ||
| • AdditionalMetaData – дополнительная информация. | • AdditionalMetaData – дополнительная информация. | ||
| • File – загружаемый файл. | • File – загружаемый файл. | ||
| - | |||
| - | **Вызов сервиса напрямую**: | ||
| - | curl -X POST "https://petstore.niis.org/v2/pets/1124/images" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@A-fluffy-cat-looking-funny-surprised-or-concerned.jpg;type=image/jpeg" | ||
| **Вызов сервиса через X-Road**: | **Вызов сервиса через X-Road**: | ||
| Строка 347: | Строка 342: | ||
| Параметры - PetId – Id питомца. | Параметры - PetId – Id питомца. | ||
| - | **Вызов сервиса напрямую**: | ||
| - | curl -X DELETE "https://petstore.niis.org/v2/pets/1124" -H "accept: application/json" | ||
| **Вызов сервиса через X-Road**: | **Вызов сервиса через X-Road**: | ||