В REST я должен возвратить представление в ответ на ПОМЕЩЕННЫЙ?

Возможно, что другой клиент также изменил другие аспекты ресурса тем временем. Так это - лучшая практика, чтобы всегда включать полное представление в ответ на ПОМЕЩЕННЫЙ, несмотря на пропускную способность наверху?

22
задан Kevin Pauli 14 January 2010 в 16:27
поделиться

3 ответа

, комментарий Jldupont указал на меня в правильном направлении. Я буду использовать Завершающие теги, чтобы определить, был ли ресурс изменен, путем выполнения условного выражения, ПОМЕЩЕННОГО с помощью заголовка Если-соответствия, , как описано здесь .

Затем в случае конфликта, я позволю пользователю решить, выбрать ли последнее представление от сервера (ПОЛУЧАЮТ) или перезаписывают изменения с его собственным.

Таким образом, нет никакой потребности возвратить полное представление в ответ на ПОМЕЩЕННЫЙ только для помощи с обнаружением конфликта и резолюцией.

8
ответ дан 29 November 2019 в 05:00
поделиться

во многих случаях (если нет) случаев, сервер добавит что-то на ресурс, даже если он создан или обновляется через PUT. Примеры являются временными метками, номер версии или любой элемент, вычисляемый от других. Это правда, даже если вы следуете за пределы спокойного подхода и не используете поставленные для частичных обновлений.

По этой причине, возвращая обновленное или созданное представление ресурса, часто является хорошей идеей для поставок запросов. Я бы не обязательно назвал это «лучшая практика», хотя - если вы поставите гигантский файл изображения 2GB, вы, вероятно, не хотите возвращать его как часть ответа.

, включая этаг, с другой стороны, определенно заслуживает статуса «Лучшая практика».

18
ответ дан 29 November 2019 в 05:00
поделиться

мне нравится думать, ПОЛУЧАЮТ и УДАЛЯЮТ быть парой - они берут только идентификатор.

POST и ПОМЕЩЕННЫЙ походят на пару также. Они берут сериализованный объект и делают его настойчивым. Следовательно, я думаю и POST и ПОМЕЩАЮ, должен возвратить полученный объект, как создано.

В некоторых случаях, можно делать дополнительные вычисления как часть персистентности, и ПОМЕЩЕННЫЙ мог отразить те расчетные результаты. Технически, это могло бы быть 3-м нарушением нормальной формы, потому что вы получили значения. Но часто, смысл веб-сервиса должен сделать некоторое добавляющее значение вычисление как часть POST и возможно ПОМЕСТИТЬ.

7
ответ дан 29 November 2019 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: