123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.llisoft.service.sms.config;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.http.converter.HttpMessageNotReadableException;
- import org.springframework.web.bind.MethodArgumentNotValidException;
- import org.springframework.web.bind.annotation.ControllerAdvice;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.ResponseBody;
- import com.llisoft.common.constant.CodeEnum;
- import com.llisoft.common.exception.MtaException;
- import com.llisoft.common.vo.ResponseVo;
- /**
- * 统一处理业务异常 controller
- * @author YangJie [2018年12月26日]
- */
- @ControllerAdvice
- public class ExceptionConfig {
-
- private Logger logger = LoggerFactory.getLogger(ExceptionConfig.class);
-
- /**
- * 入参空
- * @param exception
- * @return
- */
- @ExceptionHandler(HttpMessageNotReadableException.class)
- public @ResponseBody ResponseVo<String> exception(HttpMessageNotReadableException exception){
- logger.warn("入参异常", exception);
- return ResponseVo.build(CodeEnum.C400);
- }
-
- /**
- * 入参检验失败
- * @param exception
- * @return
- */
- @ExceptionHandler(MethodArgumentNotValidException.class)
- public @ResponseBody ResponseVo<String> exception(MethodArgumentNotValidException exception){
- logger.warn("入参异常", exception);
- return ResponseVo.build(CodeEnum.C400.getCode(), exception.getBindingResult().getFieldError().getDefaultMessage());
- }
-
- /**
- * 业务异常
- * @param exception
- * @return
- */
- @ExceptionHandler(MtaException.class)
- public @ResponseBody ResponseVo<String> exception(MtaException exception){
- logger.warn("业务异常", exception);
- return ResponseVo.build(CodeEnum.FAIL.getCode(), exception.getMessage());
- }
-
- /**
- * 默认异常
- * @param exception
- * @return
- */
- @ExceptionHandler(Exception.class)
- public @ResponseBody ResponseVo<String> exception(Exception exception){
- logger.error("服务异常", exception);
- return ResponseVo.build(CodeEnum.C500);
- }
-
- }
|