Просто к вашему сведению, ответы здесь неправильные.
Увидеть:
https://restfulapi.net/rest-api-design-tutorial-with-example/
https://restfulapi.net/rest-put-vs-post/
https://restfulapi.net/http-methods/#patch
СТАВИТЬ
Используйте PUT API в первую очередь для обновления существующего ресурса (если ресурс не существует, API может решить создать новый ресурс или нет). Если новый ресурс был создан с помощью PUT API, исходный сервер ДОЛЖЕН проинформировать пользовательский агент с помощью ответа HTTP с кодом 201 (Создан) ответ, а если существующий ресурс изменен, либо 200 (ОК), либо 204 (Нет содержимого) коды ответа ДОЛЖНЫ быть отправлены, чтобы указать на успешное выполнение запроса.
Если запрос проходит через кеш и Request-URI идентифицирует один или несколько кешированных в данный момент объектов, эти записи СЛЕДУЕТ рассматривать как устаревшие. Ответы на этот метод не кэшируются.
Используйте PUT, если вы хотите изменить отдельный ресурс, который уже является частью коллекции ресурсов. PUT заменяет ресурс полностью. Используйте PATCH, если запрос обновляет часть ресурса.
ПАТЧ
Запросы HTTP PATCH предназначены для частичного обновления ресурса. Если вы видите, что запросы PUT также изменяют объект ресурса, чтобы было понятнее, метод PATCH является правильным выбором для частичного обновления существующего ресурса, а PUT следует использовать только в том случае, если вы полностью заменяете ресурс.
Итак, вы должны использовать его таким образом:
POST /device-management/devices : Create a new device
PUT /device-management/devices/{id} : Update the device information identified by "id"
PATCH /device-management/devices/{id} : Partial-update the device information identified by "id"
Практика RESTful показывает, что не имеет значения, что вы ПОСТАВЛЯЕТЕ в / {id} - содержимое записи должно быть обновлено до того, которое предоставляется полезной нагрузкой, - но GET / {id} все равно должен ссылаться на тот же ресурс.
Другими словами, PUT / 3 может обновить идентификатор полезной нагрузки до 4, но GET / 3 должен по-прежнему связываться с той же полезной нагрузкой (и возвращать тот, у которого идентификатор установлен на 4).
Если вы решаете, что вашему API требуется один и тот же идентификатор в URI и полезной нагрузке, ваша задача - убедиться, что он совпадает, но обязательно используйте PATCH вместо PUT, если вы исключаете идентификатор в полезной нагрузке, которая должна быть там полностью . Вот где принятый ответ ошибся. PUT должен заменить весь ресурс, в то время как исправление может быть частичным.