Важно понимать, что спецификация HTTP описывает семантику (что означают различные запросы), но не описывает реализацию (как вы это делаете).Это преднамеренно - спецификация в основном говорит, что ваш сервер должен выдавать себя за хранилище ключей / значений, но это не ограничивает способ его реализации.
PUT примерно аналогично сохранениюfile: "здесь массив байтов, сохраните его с помощью этого ключа".В тех случаях, когда ваше хранилище представляет собой файловую систему, вы просто записываете массив байтов на диск.Если ваше хранилище находится в кэш-памяти, вы просто обновляете свою кэшированную копию.
Если в вашем хранилище есть какая-то база данных RDBMS?Затем вам нужно поработать, определить, какие строки в вашей базе данных необходимо изменить, и какие команды нужно отправить в базу данных, чтобы это произошло.
Дело в том, что клиенту все равно- как сервер, вы можете изменить свое базовое хранилище с RDBMS на хранилища документов на файловые системы на что угодно, и это не является делом клиента.
в методе PUT, мне нужно выяснитькакой параметр передается, а затем обновить соответствующее поле.Но это похоже на метод PATCH.
Да.В обоих случаях вам необходимо выяснить, как отредактировать ваш ресурс на месте.
PUT может показаться немного легче, поскольку он семантически эквивалентен «удалить старую версию, а затем создать новую версию».,Вам не нужно беспокоиться о слиянии предоставленных данных с состоянием, которое вы уже сохранили.