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:
{ "timestamp": "2022-03-30 13:10:03", "status": 400, "error": "Bad Request", "message": "", "path": "/test/AUTH/api/v2/login" }
I can see a bigger world.

浙公网安备 33010602011771号