Рассмотрим простой случай, когда пользователь удаляет сообщение. Это простой запрос HTTP DELETE/POST с одним обязательным полем, post_id.
Что должен делать сервер, если post_id не предоставляется?
По-видимому, пользователь никогда не должен сталкиваться с таким поведением, поэтому пусть он пурист.
Мое первое занятие было бы 400 плохим запросом, но spec говорит
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 чувствует себя странно, поскольку это проблема с запросом.
Thoughs?