关于统一异常处理
来源:3-12 精简返回给客户端的异常内容

LemonCat
2022-10-13
@Slf4j
@RestControllerAdvice
public class ExceptionAdvice {
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(Exception.class)
public String validExceptionHandler(Exception e) {
log.error("执行异常",e);
if (e instanceof MethodArgumentNotValidException) {
MethodArgumentNotValidException exception = (MethodArgumentNotValidException) e;
//将错误信息返回给前台
return exception.getBindingResult().getFieldError().getDefaultMessage();
}
else if(e instanceof EmosException){
EmosException exception=(EmosException)e;
return exception.getMsg();
}
else if(e instanceof UnauthorizedException){
return "你不具有相关权限";
}
else {
return "后端执行异常";
}
}
}
老师,这里加了@RestControllerAdvice后,里面的@ResponseBody是不是不用加?
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)这是啥意思?第一次见这个注解
写回答
2回答
-
tgywatalive
2023-01-11
我怎么感觉确实不用写
00 -
神思者
2022-10-14
全局处理异常之后,把简化的异常信息返回给前端需要写到响应里面,@ResponseBody注解必须写
00
相似问题