springboot的错误处理
作者:互联网
比如自定义的 HelloException \ @ResponseBody给参数赋值因为post的json不存在时候的 HttpMessageNotReadableException
不做处理的话,程序会直接相应404、500之类信息,如何接收呢
那就是用最常用也是最好用的方式,添加一个ExceptionHandle文件
/** * @ClassName ExceptionHandle * @Description 统一处理控制层的异常 * @date 2020年3月14日 上午9:55:41 * @version 1.0 */ @ControllerAdvice public class HttpMessageNotReadableExceptionHandler { @ExceptionHandler(HttpMessageNotReadableException.class) public ApiResponse<String> processException(HttpMessageNotReadableException ex) { ApiResponse<String> e = new ApiResponse<>(); e.setCode(ApiResponse.CODE_ERR_COMMON); e.setMessage("捕捉到HttpMessageNotReadableException:"+ex.getMessage()); return e; } @ExceptionHandler(HelloException.class) public ApiResponse<String> processException(HelloException ex) { ApiResponse<String> e = new ApiResponse<>(); e.setCode(ApiResponse.CODE_ERR_COMMON); e.setMessage("捕捉到HelloException:"+ex.getMessage()); return e; } }
以上将会捕捉2种异常进行如何,如果补抓所有异常
直接
@ExceptionHandler(Exception.class)
就可以
备注:
@Response user 这样赋值的,如果json为空一定会直接异常
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing:
标签:springboot,ExceptionHandler,ApiResponse,class,ex,HttpMessageNotReadableException 来源: https://www.cnblogs.com/xuweiqiang/p/16076584.html