Для частичного изменения текста ресурса обычно используют PATCH. PUT тоже изменяет ресурс, но по контракту задаёт его полное представление; POST может запускать отдельную операцию.
Если в опубликованном сообщении заменить «девушки» на «юноши», какой REST-метод следует использовать? Какой еще метод может изменять данные?
Для частичного изменения текста ресурса обычно используют PATCH. PUT тоже изменяет ресурс, но по контракту задаёт его полное представление; POST может запускать отдельную операцию.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для частичного изменения текста ресурса обычно используют PATCH. PUT тоже изменяет ресурс, но по контракту задаёт его полное представление; POST может запускать отдельную операцию.
Например, PATCH /messages/42 может передать новое поле text без повторной отправки остальных полей сообщения. Сервер проверяет авторство, валидацию и при необходимости версию ресурса, чтобы не потерять конкурентное изменение. Если API принимает PUT, нужно соблюдать его контракт, а не считать отсутствующие поля неизменными автоматически. REST не назначает метод по конкретным словам текста: важен смысл операции над ресурсом.