Что самый соответствующий код ответа должен возвратить при использовании ПОМЕЩЕННОГО метода для обновления ресурса, и запрос содержит некоторые данные, которые делали бы недействительным доменные правила?
Например, потребительскому ресурсу нужно было определить имя. Если агент пытается выпустить ПОМЕЩЕННЫЙ, не предоставляя имя, я не хочу обновлять ресурс, и я хочу сказать вызывающей стороне, что они должны предоставить имя.
Какой Код ответа HTTP?
В этом случае код ответа не связан с методом http. Вы должны вернуть тот же код состояния, как если бы это был запрос POST. Я бы сказал, что вам следует использовать 400
или 409
( Примечание: см. Дальнейшее обсуждение разницы между ними в комментариях ).
Как насчет 422?
«Код состояния 422 (Unprocessable Entity) означает, что сервер понимает тип контента объекта запроса (следовательно, код состояния 415 (неподдерживаемый тип носителя) неприемлем), и синтаксис объекта запроса правильный (таким образом, код состояния 400 (неверный запрос) неприемлем), но не смог обработать содержащиеся инструкции. Например, это состояние ошибки может возникнуть, если тело запроса XML содержит правильно сформированные (т. Е. Синтаксически правильные), но семантически ошибочные инструкции XML ».
Я бы вернул 400 . Строго говоря, это для «искаженного синтаксиса» (не недействительных данных), но на практике YouTube , Twitter и т. Д. Используют его для более общих «плохих» запросов.