| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package seecoder.devcloud.web.infrastructure;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.http.HttpStatus;
- import org.springframework.validation.BindException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
- import seecoder.devcloud.common.exceptions.ServiceException;
- import seecoder.devcloud.web.infrastructure.security.TokenExpiredException;
- import seecoder.devcloud.web.model.vo.Response;
- import javax.validation.ConstraintViolationException;
- /**
- * @author PuHong Weng
- * @date 2021/3/5
- * @description: 统一异常返回处理
- */
- @RestControllerAdvice
- @Slf4j
- public class GlobalExceptionHandler {
- //***************************validation参数异常的捕获**************
- @ExceptionHandler(value = BindException.class)
- @ResponseBody
- public Response handleResourceBindException(BindException e) {
- return Response.buildFailure(HttpStatus.SC_BAD_REQUEST, e.getMessage());
- }
- @ExceptionHandler(value = ConstraintViolationException.class)
- @ResponseBody
- public Response handleResourceConstraintViolationException(ConstraintViolationException e) {
- return Response.buildFailure(HttpStatus.SC_BAD_REQUEST, e.getMessage());
- }
- //***************************业务异常的捕获**************
- @ExceptionHandler(ServiceException.class)
- @ResponseBody
- public Response serviceExceptionHandler(ServiceException e){
- log.error("Error: ",e);
- return Response.buildFailure(e.getCode(),e.getMessage());
- }
- @ExceptionHandler(Exception.class)
- @ResponseBody
- public Response exceptionHandler(Exception e){
- log.error("Error: ",e);
- return Response.buildFailure(503,e.getMessage());
- }
- @ExceptionHandler(TokenExpiredException.class)
- @ResponseBody
- public Response tokenExpiredExceptionHandler(TokenExpiredException e){
- log.error("Error: ",e);
- return Response.buildFailure(e.getCode(), e.getMessage());
- }
- }
|