REST
HTTP API вокруг ресурсов
REST — распространённый подход к построению HTTP API, где адрес описывает ресурс, а HTTP-метод показывает действие над ним. Клиент работает с понятными URI и стандартной семантикой протокола.
GET /users/42
POST /orders
PUT /users/42/profile
DELETE /sessions/abc123
Такой интерфейс удобно использовать между backend-сервисами, браузерами и мобильными приложениями, потому что HTTP поддерживается практически везде.
Метод и статус несут смысл
GET используют для чтения, POST — для создания или запуска операции, PUT — для записи представления по известному адресу, DELETE — для удаления. Ответ дополняется HTTP-статусом: например, 200 означает успешный ответ, 201 — созданный ресурс, 404 — отсутствие запрошенного ресурса.
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 42,
"name": "Alice"
}
URI должен описывать предметную область
API проще читать, когда путь говорит о сущности, а не повторяет название внутреннего метода.
Например, /orders/15 устойчивее к изменениям реализации, чем /callOrderServiceMethod.
Формат тела — часто JSON, но REST не требует именно его. Важнее, чтобы контракт был стабильным, а клиент не зависел от деталей хранения или внутренней структуры сервиса.