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 для отдельных аспектов ресурса)