Saltar al contenido

@RestControllerAdvice frente a @ControllerAdvice

Esta es la solución más válida que te podemos brindar, pero mírala detenidamente y valora si es compatible a tu proyecto.

Solución:

@RestControllerAdvice es solo un azúcar sintáctico para @ControllerAdvice + @ResponseBodypuedes mirar aquí.

¿Deberíamos usar siempre @RestControllerAdvice para servicios de descanso y @ControllerAdvice MVC?

Nuevamente, como se mencionó anteriormente, @ControllerAdvice se puede usar incluso para servicios web REST también, pero necesita usar adicionalmente @ResponseBody.

Además, podemos entenderlo simplemente como:

@RestControler = @Controller + @ResponseBody

@RestControllerAdvice = @ControllerAdvice + @ResponseBody.

Teniendo en cuenta que @ControllerAdvice es una anotación más conveniente para manejar Exception con RestfulApi.

Ejemplo de uso del sistema operativo:

@RestControllerAdvice
public class WebRestControllerAdvice 

  @ExceptionHandler(CustomNotFoundException.class)
  public ResponseMsg handleNotFoundException(CustomNotFoundException ex) 
    ResponseMsg responseMsg = new ResponseMsg(ex.getMessage());
    return responseMsg;
  

En ese caso, cualquier instancia de excepción de CustomNotFoundException se lanzará en el cuerpo de la respuesta.

Ejemplo extraído aquí: https://grokonez.com/spring-framework/spring-mvc/use-restcontrolleradvice-new-features-spring-framework-4-3

Te mostramos reseñas y puntuaciones

Eres capaz de añadir valor a nuestro contenido contribuyendo tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

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