zoukankan      html  css  js  c++  java
  • spring boot的数据校验,通过全局异常处理

    //2019/8/10  zjm
    @ControllerAdvice
    public class ExceptionController { private final static Logger logger = LoggerFactory.getLogger(ExceptionController.class); @ExceptionHandler(value = MethodArgumentNotValidException.class) @ResponseBody public FrontResponse validationBodyException(MethodArgumentNotValidException exception){ BindingResult bindingResult = exception.getBindingResult(); return getBindingResult(bindingResult); } @ExceptionHandler(value = BindException.class) @ResponseBody public FrontResponse validationBindException(BindException exception){ BindingResult bindingResult = exception.getBindingResult(); return getBindingResult(bindingResult); } private FrontResponse getBindingResult(BindingResult bindingResult){ List<ObjectError> list = bindingResult.getAllErrors(); StringBuilder builder = new StringBuilder(); list.forEach(x -> { FieldError error = (FieldError) x; builder.append(error.getDefaultMessage()); builder.append("<br/>"); } ); return FrontResponse.fail(ErrorCodeDict.PARAMETER_INVALID.getCode(),builder.toString()); } @ExceptionHandler(value = ConstraintViolationException.class) @ResponseBody public FrontResponse ConstraintViolationExceptionHandler(ConstraintViolationException exception) { Set<ConstraintViolation<?>> violations = exception.getConstraintViolations(); StringBuilder builder = new StringBuilder(); for (ConstraintViolation<?> item : violations) { builder.append(item.getMessage()); builder.append("<br/>"); } return FrontResponse.fail(ErrorCodeDict.PARAMETER_INVALID.getCode(),builder.toString()); } @ExceptionHandler(value = HttpMessageConversionException.class) @ResponseBody public FrontResponse parameterTypeException(HttpMessageConversionException exception){ return FrontResponse.fail(ErrorCodeDict.PARAMETER_INVALID.getCode(),"parameterTypeException"); } @ExceptionHandler(value = Exception.class) @ResponseBody public FrontResponse handle(Exception e) { logger.error("系统异常", e); return FrontResponse.fail(ErrorCodeDict.SYSTEM_ERROR.getCode(),"system error"); }
  • 相关阅读:
    OpenWrt arp 命令发布
    [Cocos2d-x]Cocos2d-x 3.2 学习笔记
    智课雅思词汇---二十四、名词性后缀ary(也是形容词后缀)
    算法讲课---1、贪心
    智课雅思词汇---二十三、名词性后缀mony
    js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
    js进阶---12-12、jquery事件委托怎么使用
    js进阶---12-10、jquery绑定事件和解绑事件是什么
    新东方雅思词汇---7.3、dioxide
    对啊英语音标---四、双元音常见的字母发音组合有哪些
  • 原文地址:https://www.cnblogs.com/zjm-1/p/12207019.html
Copyright © 2011-2022 走看看