Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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**: |