package net.educoder.handler; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import net.educoder.exception.BusinessException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; /** * @Author: youys * @Date: 2022/8/16 * @Description: 全局异常处理 */ @Slf4j @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(BusinessException.class) @ResponseBody public ResponseEntity handleBridgeExceptions(BusinessException e) { log.error("捕获到BusinessException", e); JSONObject jsonObj = new JSONObject(); jsonObj.put("code", e.getCode()); jsonObj.put("msg", e.getMsg()); return new ResponseEntity<>(jsonObj, HttpStatus.OK); } @ExceptionHandler(Exception.class) @ResponseBody public ResponseEntity handleOtherExceptions(Exception e) { log.error("捕获到Exception", e); JSONObject jsonObj = new JSONObject(); if (e.getMessage().contains("Maximum upload size exceeded")) { jsonObj.put("code", -1); jsonObj.put("msg", "未知错误!" + e.getMessage()); } return new ResponseEntity<>(jsonObj, HttpStatus.OK); } }