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