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
+ @ResponseBody
puedes 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.