Cuando un usuario envía datos inválidos a mi API (generalmente a través de Javascript + JSON), me pregunto con qué HTTP response code debería responder.Si falla un método REST API, ¿debo devolver un mensaje de estado HTTP 200, 400 o 500?
¿Debo devolver una respuesta HTTP 200 con los errores, o debería mi servidor responder con un error de 400 o 500 ya que la solicitud no pasó mi validación debido a algunos datos incorrectos?
Parece un error 400 es el camino a seguir, ya que "La clase 4xx del código de estado está destinado a los casos en que el cliente parece haber errado" - wikipedia
Sin embargo, una cosa a tener en cuenta es que la mayoría de la gente utiliza un marco como jQuery, que requiere que se especifique una devolución de llamada alternativo cuando peticiones AJAX responden con cualquier código de estado que no sea un 200.
400 es la manera "correcta", 200 es el camino "educado". Tu eliges. –
posible duplicado de [REST códigos de estado HTTP] (http://stackoverflow.com/questions/3290182/rest-http-status-codes) –
Pregunta muy interesante actualmente devuelvo un objeto JSON vacío pero eso probablemente no sea correcto, mirando los códigos de respuesta HTTP que más se aproximan a 400 (solicitud incorrecta), Interesados en leer las opiniones de otros en este. – Dampsquid