Возможно, что другой клиент также изменил другие аспекты ресурса тем временем. Так это - лучшая практика, чтобы всегда включать полное представление в ответ на ПОМЕЩЕННЫЙ, несмотря на пропускную способность наверху?
, комментарий Jldupont указал на меня в правильном направлении. Я буду использовать Завершающие теги, чтобы определить, был ли ресурс изменен, путем выполнения условного выражения, ПОМЕЩЕННОГО с помощью заголовка Если-соответствия, , как описано здесь .
Затем в случае конфликта, я позволю пользователю решить, выбрать ли последнее представление от сервера (ПОЛУЧАЮТ) или перезаписывают изменения с его собственным.
Таким образом, нет никакой потребности возвратить полное представление в ответ на ПОМЕЩЕННЫЙ только для помощи с обнаружением конфликта и резолюцией.
во многих случаях (если нет) случаев, сервер добавит что-то на ресурс, даже если он создан или обновляется через PUT. Примеры являются временными метками, номер версии или любой элемент, вычисляемый от других. Это правда, даже если вы следуете за пределы спокойного подхода и не используете поставленные для частичных обновлений.
По этой причине, возвращая обновленное или созданное представление ресурса, часто является хорошей идеей для поставок запросов. Я бы не обязательно назвал это «лучшая практика», хотя - если вы поставите гигантский файл изображения 2GB, вы, вероятно, не хотите возвращать его как часть ответа.
, включая этаг, с другой стороны, определенно заслуживает статуса «Лучшая практика».
мне нравится думать, ПОЛУЧАЮТ и УДАЛЯЮТ быть парой - они берут только идентификатор.
POST и ПОМЕЩЕННЫЙ походят на пару также. Они берут сериализованный объект и делают его настойчивым. Следовательно, я думаю и POST и ПОМЕЩАЮ, должен возвратить полученный объект, как создано.
В некоторых случаях, можно делать дополнительные вычисления как часть персистентности, и ПОМЕЩЕННЫЙ мог отразить те расчетные результаты. Технически, это могло бы быть 3-м нарушением нормальной формы, потому что вы получили значения. Но часто, смысл веб-сервиса должен сделать некоторое добавляющее значение вычисление как часть POST и возможно ПОМЕСТИТЬ.