Каков правильный код ответа HTTP для запроса без обязательных полей

Рассмотрим простой случай, когда пользователь удаляет сообщение. Это простой HTTP-запрос DELETE / POST с одним обязательным полем post_id.

Что должен делать сервер, если post_id не указан?

Очевидно, пользователь никогда не должен сталкиваться с таким поведением, так что давайте будем пуристами.

Мой первый take будет 400 ошибочным запросом, но в спецификации сказано

The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.

, и я бы сказал, что отсутствующее поле - это нормально из синтаксиса / http POV, это семантическое требование, зависящее от домена приложения.

200 ОК с объяснениями - это плохо, 500 кажется странным, поскольку это проблема запроса.

Хотя?

20
задан Almad 22 February 2011 в 12:02
поделиться