2022年4月22日
异常处理
/**
* 异常处理器
*/
@RestControllerAdvice
public class SoaExceptionHandler {
private Logger logger = LoggerFactory.getLogger(getClass());
//捕获异常类型
@ExceptionHandler({ServletRequestBindingException.class, MethodArgumentNotValidException.class})
public RespBean handleParams(Exception e) {
String msg = null;
// @Validated异常信息友好显示
if (e instanceof MethodArgumentNotValidException) {
// 需要强转
List<ObjectError> allErrors = ((MethodArgumentNotValidException) e).getBindingResult().getAllErrors();
msg = allErrors.stream().map(s -> s.getDefaultMessage()).collect(Collectors.joining(";"));
}
// 打印异常
logger.error(msg, e);
return RespBean.error(500, msg);
}
}
捕获@Validated产生的异常
@Validated
MethodArgumentNotValidException异常信息友好展现
参考链接

浙公网安备 33010602011771号