Ресурсы, HTTP методы, статусные коды, HATEOAS, модель зрелости Ричардсона
REST (Representational State Transfer) — это архитектурный стиль для создания веб-сервисов, который использует стандартные возможности протокола HTTP для взаимодействия с ресурсами.
/users, /orders/123).GET — получение ресурса (безопасный и идемпотентный).POST — создание нового ресурса или выполнение действия.PUT — полная замена ресурса (идемпотентный).PATCH — частичное обновление ресурса.DELETE — удаление ресурса (идемпотентный).Эта модель описывает четыре уровня зрелости RESTful API:
POST. Это похоже на SOAP, где HTTP используется только как транспорт./users, /orders).HATEOAS — это философия, при которой API не просто возвращает данные, но и предоставляет клиенту информацию о том, что можно сделать дальше. Например, ответ на запрос GET /orders/123 может содержать не только данные заказа, но и ссылки на действия, которые можно с ним совершить: отменить (/orders/123/cancel) или получить счет (/orders/123/invoice). Это повышает гибкость и упрощает поддержку API, так как URL-адреса могут меняться без необходимости обновления клиентского кода.
Пример ответа с HATEOAS:
{
"id": 123,
"status": "pending",
"amount": 99.99,
"currency": "USD",
"_links": {
"self": {
"href": "/orders/123"
},
"cancel": {
"href": "/orders/123/cancel",
"method": "POST"
},
"invoice": {
"href": "/orders/123/invoice",
"method": "GET"
},
"payment": {
"href": "/orders/123/payment",
"method": "POST"
}
}
}Клиент использует ссылки из _links, а не конструирует URL вручную. Это делает клиент более слабосвязанным с API.
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.