RestControllerAdvice注解全局捕获自定义异常
前提:抛出的异常返回信息不友好,编码固定500,项目需要自定义返回编码;
需求:返回自定义的编码与抛出的异常信息;
解决:可以通过全局异常捕获,处理返回的报文信息;
测试代码片段:
处理前返回报文,并没有取得设置的编码:
处理后返回自定义的编码类型,前端可以根据异常类型进行对应的需求处理:
如何处理:
@RestControllerAdvice 注解加到全局异常捕获的类,可以用于定义@ExceptionHandler 并应用到所有@RequestMapping中
@ExceptionHandler 拦截了异常,通过该注解实现自定义异常处理。
其中,@ExceptionHandler 配置的 value 指定需要拦截的异常类型,上面拦截了 DemoModeException.class 这种异常。
在方法中可以根据项目的报文格式进行返回处理。