¿Qué código de estado debo establecer para UPDATE
( PUT
) y DELETE
(por ejemplo, producto actualizado con éxito)?
fuente
¿Qué código de estado debo establecer para UPDATE
( PUT
) y DELETE
(por ejemplo, producto actualizado con éxito)?
Para una solicitud PUT : HTTP 200 o HTTP 204 deberían implicar "recurso actualizado con éxito".
Para una solicitud DELETE : HTTP 200 o HTTP 204 deberían implicar "recurso eliminado con éxito". HTTP 202 también se puede devolver, lo que implicaría que la instrucción fue aceptada por el servidor y que el "recurso se marcó para su eliminación".
Si se modifica un recurso existente, los códigos de respuesta 200 (OK) o 204 (Sin contenido)> DEBEN enviarse para indicar la finalización exitosa de la solicitud.
Una respuesta exitosa DEBE ser 200 (OK) si la respuesta incluye una entidad que describe el estado, 202 (Aceptada) si la acción aún no se ha promulgado, o 204 (Sin contenido) si la acción se ha promulgado pero la respuesta no incluye una entidad.
Fuente: W3.org: Definiciones de métodos HTTP / 1.1
HTTP 200 OK: respuesta estándar para solicitudes HTTP exitosas. La respuesta real dependerá del método de solicitud utilizado.
HTTP 204 Sin contenido: el servidor procesó con éxito la solicitud, pero no devuelve ningún contenido
Respuesta corta: para PUT y DELETE, debe enviar 200 (OK) o 204 (Sin contenido).
Respuesta larga: aquí hay un diagrama de decisión completo (haga clic para ampliar).
Fuente: https://github.com/for-GET/http-decision-diagram
fuente
Aquí hay algunos consejos:
ELIMINAR
PONER
fuente
RFC 2616 describe qué códigos de estado usar .
Y no, no siempre es 200.
fuente
Además de 200 y 204, 205 (Restablecer contenido) podría ser una respuesta válida.
fuente
Dado que la pregunta profundiza en si DELETE "debería" devolver 200 vs 204 , vale la pena considerar que algunas personas recomiendan devolver una entidad con enlaces, por lo que la preferencia es 200 .
http://blog.ploeh.dk/2013/04/30/rest-lesson-learned-avoid-204-responses/
Personalmente, no diría que 204 está mal (tampoco el autor; dice "molesto") porque el buen almacenamiento en caché del lado del cliente tiene muchos beneficios. Lo mejor es ser consistente de cualquier manera.
fuente
Aquí hay un código de estado, que debe conocer por su tipo de conocimiento.
Respuestas de información 1XX
2XX éxito
Redirección 3XX
Errores del cliente 4XX
Errores del servidor 5XX
fuente
En junio de 2014, RFC7231 queda obsoleto RFC2616. Si está haciendo REST sobre HTTP, entonces RFC7231 describe exactamente qué comportamiento se espera de GET, PUT, POST y DELETE
fuente
Cuando se modifica un recurso, el código de respuesta debe ser 200 ("OK") . Si el estado del recurso cambia de una manera que cambia el URI al recurso (por ejemplo, se cambia el nombre de una cuenta de usuario), el código de respuesta es 301 ("Movido permanentemente") y el encabezado de ubicación debe proporcionar el nuevo URI.
Cuando se elimina un objeto, el código de respuesta debe ser 200 ("OK").
Siga el siguiente enlace para obtener más detalles: código de estado para descansar
fuente