Я бы сказал «это помогает», но это не обязательно.Поскольку согласование содержимого и несколько представлений - это одно, вы можете использовать другой тип носителя для «изменения» и «извлечения» состояния ресурса.
Если представление вашего запроса является простым подмножеством, возможно,PATCH
- это то, что вы ищете.
Если ответ на запрос PUT
содержит ETag
, ожидается, что тело запроса PUT
будет полностью соответствовать побайтнотекущее состояние.В действительности это редко имеет место, потому что API имеют тенденцию повторно сериализовать свою модель и часто будут иметь незначительные различия.
Наличие этого ETag полезно, потому что более умный клиент может прочитать этот ETag и использовать егочтобы подогреть их текущее кэшированное состояние ресурса, а также избежать условия гонки, если в будущем потребуется больше PUT
, и клиент хочет использовать ETags, чтобы избежать проблемы потерянного обновления.
Для менялично мне нравится возможность GET
ресурса, изменение единственного свойства PUT
снова полный ресурс.