HTTP PUT - вложенная сущность должна храниться под предоставленным Request-URI, означает ли это Delete and Add?

Согласно спецификации:

Метод PUT запрашивает, чтобы вложенный объект был сохранен под предоставленным Request-URI. Если Request-URI ссылается на уже существующий ресурс, вложенный объект СЛЕДУЕТ рассматривать как модифицированную версию, находящуюся на исходном сервере.

Поэтому, если мне нужно внедрить службу RESTFul, чтобы изменить возраст человека:

id: 100, имя: John Doe, описание: Tall, возраст: 40

до 60 лет, если мой запрос PUT содержит

id: 100, имя: John Doe, описание: Tall, возраст: 60

или просто

возраст: 60

Следует ли ожидать, что сервер объединит и обновит только то, что изменило или полностью удалило и повторно добавило ресурс?

1 ответ

Решение

PUT заменяет. Если вы хотите просто изменить часть ресурса, используйте PATCH (или назначьте отдельные URI для отдельных аспектов ресурса)

Другие вопросы по тегам