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