En mi RESTful API el cliente puede intentar publicar información que ya está en la base de datos, esto no es un error, algo que el cliente puede ignorar, tal vez notificar al usuario sobre una duplicación ya existente.¿Cuál es el código de estado de respuesta correcto para la solicitud REST POST cuando se encuentra duplicado?
Ahora devolveré 409 Conflicto y un objeto ya existente en el cuerpo de respuesta. Siento que es incorrecto porque:
No se pudo completar la solicitud debido a un conflicto con el estado actual del recurso. Este código solo está permitido en situaciones en las que se espera que el usuario pueda resolver el conflicto y vuelva a enviar la solicitud. El cuerpo de respuesta DEBE incluir suficiente información para que el usuario reconozca el origen del conflicto. Lo ideal sería que la entidad de respuesta incluyera suficiente información para el usuario o agente de usuario para solucionar el problema; sin embargo, es posible que no sea y no es necesario. via restpatterns.org
y, en general, parece que 409 se asocia más con PUT.
¿Cuál es la respuesta correcta en este caso? ¿Podría ser 303 Ver el encabezado Otro y Ubicación?