У нас есть REST API, для которого клиенты обычно используют POST и PUT. Когда они это делают, иногда они получают данные POST, что не приводит к изменениям в нашей системе. POST и PUT являются хорошо сформированными, но данные, которые они отправляют, идентичны данным в нашей базе данных. Когда это произойдет, я только что узнал, что мы возвращаем статус HTTP HTTP. К сожалению, это означает, что "плохой запрос", как "запрос не может быть понят сервером из-за искаженного синтаксиса".
Ясно, что это не так, но мне сказали, что мы будем использовать это, потому что нет другого подходящего кода статуса. Выбор, который мы рассмотрели:
- 304 Не изменено. Это, к сожалению, только для запросов GET.
- 204 Нет содержимого. Кажется, близко, но запрещает сущность-тело.
Другие варианты кажутся одинаково плохими. Мы можем пойти с 200 OK
и иметь соответствующую информацию в документе XML, который мы возвращаем, но это не кажется очень "RESTish". Как вообще этот мир REST справляется с этим?
(Исправлен не модифицированный код ответа. Спасибо Mkoeller)