package com.moral.api.exception; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.exception.TokenException; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; @ControllerAdvice @ResponseBody @Slf4j public class GlobalExceptionHandler { /** * 处理全部异常 */ @ExceptionHandler @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleException(Exception ex) { log.error(ex.getMessage()); ex.printStackTrace(); return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), ResponseCodeEnum.FAIL.getMsg()); } /** * 处理BusinessException异常 */ @ExceptionHandler({BusinessException.class}) @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleUserNotExistException(BusinessException ex) { return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), "请求用户数据失败"); } /** * 处理TokenException异常 */ @ExceptionHandler({TokenException.class}) @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleTokenException(TokenException ex) { return ResultMessage.fail(ex.getCode(),ex.getMsg()); } }