Saltar al contenido

¿Cómo devolver el estado de respuesta 404 en Spring Boot @ResponseBody – el tipo de retorno del método es Response?

Solución:

Esto se hace muy simplemente lanzando org.springframework.web.server.ResponseStatusException:

throw new ResponseStatusException(
  HttpStatus.NOT_FOUND, "entity not found"
);

Es compatible con @ResponseBody y con cualquier valor de retorno. Requiere Spring 5+

Crear un NotFoundException clase con un @ResponseStatus(HttpStatus.NOT_FOUND) anotación y tírela desde su controlador.

@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "video not found")
public class VideoNotFoundException extends RuntimeException {
}

Tu método original puede regresar ResponseEntity (no cambia el comportamiento de su método):

@RequestMapping(value = VIDEO_DATA_PATH, method = RequestMethod.GET)
public ResponseEntity getData(@PathVariable(ID_PARAMETER) long id, HttpServletResponse res{
... 
}

y devuelve lo siguiente:

return new ResponseEntity(HttpStatus.NOT_FOUND);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *