Ответ
PUT — это идемпотентный метод, требующий полной замены ресурса. Клиент должен отправить полное представление, даже если меняется одно поле.
Пример запроса:
PUT /api/users/123 HTTP/1.1
Content-Type: application/json
{
"id": 123,
"name": "Updated Name",
"email": "old@example.com",
"role": "user"
}
Ключевые моменты:
- Идемпотентность — повторные идентичные запросы не меняют результат.
- Семантика замены — сервер интерпретирует тело как новую версию ресурса.
- Ответы сервера:
200 OKили204 No Content— при успешном обновлении.201 Created— если ресурс создан.400 Bad Request— при неполных или некорректных данных.
Для частичных обновлений используйте метод PATCH, который предназначен для модификации отдельных полей.