В моем RESTful API-клиенте может попытаться опубликовать информацию, которая уже находится в базе данных, это не ошибка, а то, что клиент может проигнорировать, возможно, уведомить пользователя об уже существующем дубликате.
Теперь я возвращаю 409 Conflict и уже существующий объект в теле ответа. Я считаю, что это неверно, потому что:
Запрос не может быть выполнен из-за конфликта с текущим состояние ресурса. Этот код разрешен только в ситуациях, когда ожидается, что пользователь сможет разрешить конфликт и повторно отправить запрос. В теле ответа СЛЕДУЕТ включать достаточно информация, позволяющая пользователю распознать источник конфликта. В идеале объект ответа должен включать достаточно информации для пользователь или пользовательский агент для устранения проблемы; однако это может быть не так можно и не обязательно. через restpatterns.org
и в целом, похоже, что 409 больше ассоциируется с PUT.
Каков правильный ответ в этом случае? Может быть, это заголовок 303 "См. Другое и местоположение"?