pagina - http response
¿Cuál es un código de estado de respuesta adecuado para la solicitud REST POST cuando se encuentra duplicado? (1)
No estoy seguro de que haya una respuesta correcta. Estamos devolviendo un 409 con un mensaje de que es un recurso duplicado. También incluimos hipermedia a ese recurso. Parece que también podrías usar un 400 - Bad Request pero eso parecía demasiado genérico. Pude ver el 303 también funcionando. Quería indicar que hubo un error, así que fuimos con el 409.
En mi RESTful API, el cliente podría intentar publicar información que ya se encuentra en la base de datos, esto no es un error, más bien, algo que el cliente puede ignorar, tal vez notifique al usuario sobre la publicación ya existente.
Ahora estoy devolviendo 409 Conflicto y un objeto ya existente en el cuerpo de la respuesta. Siento que es incorrecto porque:
La solicitud no se pudo completar debido a un conflicto con el estado actual del recurso. Este código solo se permite en situaciones en las que se espera que el usuario pueda resolver el conflicto y volver a enviar la solicitud. El cuerpo de la respuesta DEBERÍA incluir suficiente información para que el usuario reconozca la fuente del conflicto. Idealmente, la entidad de respuesta incluiría suficiente información para que el usuario o el agente de usuario solucione el problema; Sin embargo, eso podría no ser posible y no es obligatorio. a través de restpatterns.org
y en general, parece, que 409 está más asociado con PUT.
¿Cuál es la respuesta correcta en este caso? ¿Podría ser 303 Ver otra y encabezado de ubicación?