Я хочу знать, как лучше всего обновлять один элемент в массиве элементов.
Важно понимать, что такое REST, или HTTP, что мы разрабатываемсообщения для использования компонентами общего назначения. То есть мы используем легко стандартизированные формы для передачи семантики.
HTTP PUT имеет семантику загрузки документа в хранилище документов. Для вашего примера, где мы ПОЛУЧАЕМ представление ресурса списка, вносим локальные изменения и PUT
результат, полезная нагрузка PUT
является копией complete представления ресурса -мы просим, чтобы сервер сделал свою копию похожей на копию клиента.
Предполагая, что сервер решает применить новое представление к своей копии ресурса, полезная нагрузка ответа может быть сообщением о состоянии. («Это сработало»), или копия нового представления ресурса, или даже пустой документ ( 204 No Content ) с метаданными, описывающими новое представление ресурса (и подразумевается, чтосервер принял представление клиента без изменения ).
Однако ключевая идея PUT заключается в том, что полезная нагрузка представляет собой полное представление ресурса, а не простоописание изменений, внесенных в него. Если документ очень большой (в частности, большой по сравнению с заголовками HTTP), и редактирование, которое вы делаете, невелико, то вы можете отправить патч-документ с описанием изменений, которые вы внесли в документ, указав *Метод 1025 * PATCH в запросе.
Конечно, в Интернете самый популярный формат документов не включал поддержку гипермедиа для PUT или PATCH, а самыми популярными клиентами были браузеры, а не документы. редакторы, поэтому мы должны были разработать наши протоколы изменений около POST
. Так что это тоже нормально, нужно просто подумать о том, как представления данных формы будут применяться к ресурсу.