verbos example ejemplo codigos java spring web-services rest spring-mvc

java - example - ¿Cuál es el código de retorno de estado HTTP para una declaración DELETE exitosa en REST?



rest put example (4)

2xx representa la solicitud fue exitosa. El xx solo le permite ser más específico sobre lo que sucedió (lo que el servidor hizo o está devolviendo).

Estoy estudiando cómo Spring maneja los servicios web REST (pero no sé si se trata de una respuesta relacionada con Spring o, más genéricamente, está relacionada solo con el concepto REST).

Entonces, mi duda es: ¿cuál es exactamente el código de retorno de estado HTTP para una declaración DELETE exitosa?

¿Es el 204 o el 200 ?

Sé que el 200 significa que mi solicitud se cumplió correctamente, pero al leer en línea, me parece que lo espero después de una devolución exitosa de contenido GET y no después de una eliminación.

En algún lugar encontré que el estado 204 se obtiene después de un PUT o DELETE exitoso . ¿Es verdad? No puedo entender, significa que la respuesta está vacía , ¿por qué una respuesta vacía significa que la operación PUT o DELETE se ha ido con éxito?


No hay reglas estrictas en las que el código de estado HTTP sea el correcto para cada método. Depende de qué sucedió exactamente, qué información necesita enviar al cliente, etc. Puedo pensar en algunos ejemplos:

  • Un DELETE exitoso, sin más información. 204 No Content

  • Se borró correctamente, pero tiene una advertencia sobre recursos huérfanos relacionados que también se deben eliminar. 200 OK

  • Aceptó la solicitud de DELETE , pero puede llevar mucho tiempo y lo hará de forma asíncrona. El cliente debe comprobarlo más tarde. 202 Accepted .

  • Aceptó la solicitud DELETE , pero el recurso no se puede eliminar y la URI se restablece a su valor predeterminado. 205 Reset Content .


Un cuerpo de respuesta vacío no significa que una eliminación sea exitosa, un borrado exitoso (generalmente) significa que el cuerpo de respuesta está vacío.

No hay una lista de códigos de estado oficial para las API REST, pero la mayoría está de acuerdo en que un 204 es un buen código de respuesta para una eliminación exitosa, ya que generalmente no hay una buena razón para devolver un cuerpo de respuesta después de eliminar algo.

En general, si una operación es exitosa y el cuerpo de respuesta está vacío, devuelva 204. Si una operación es exitosa y el cuerpo de respuesta NO está vacío, devuelva 200


Una respuesta vacía no significa que la operación fue exitosa, se supone que el código de error HTTP indica éxito / falla y que el cuerpo de la respuesta puede o no contener datos.

El cuerpo de la respuesta puede contener información adicional con respecto a la solicitud, por ejemplo, un mensaje específico para mostrar a la interfaz de usuario, estadísticas o información de tiempo con respecto a la información, lo que sea. Pero no tiene que hacerlo, y el propósito del cuerpo es informativo / diagnóstico, si existe.