diff --git a/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java b/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java new file mode 100644 index 00000000..2d1bac56 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java @@ -0,0 +1,40 @@ +package cn.lihongjie.coal.config; + +import cn.lihongjie.coal.dto.R; +import cn.lihongjie.coal.exception.BizException; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +@RestControllerAdvice +@Slf4j +public class GlobalExceptionHandler { + + + @ExceptionHandler(BizException.class) + public R handleException(BizException ex, HttpServletRequest request) { + logException(ex, request); + return R.fail("bizError", ex.getMessage()); + + } + + + @ExceptionHandler(RuntimeException.class) + public R handleException(RuntimeException ex, HttpServletRequest request) { + logException(ex, request); + return R.fail("sysError", ex.getMessage()); + } + @ExceptionHandler(Exception.class) + public R handleException(Exception ex, HttpServletRequest request) { + logException(ex, request); + return R.fail("sysError", ex.getMessage()); + } + + + + + private void logException(Exception ex, HttpServletRequest request) { + log.info("接口调用异常: {}\nURL:{} {}", ex.getMessage(), request.getMethod(), request.getRequestURL(), ex); + } +} diff --git a/src/main/java/cn/lihongjie/coal/dto/CoalBlendRequest.java b/src/main/java/cn/lihongjie/coal/dto/CoalBlendRequest.java index 083a7e66..9bdcf586 100644 --- a/src/main/java/cn/lihongjie/coal/dto/CoalBlendRequest.java +++ b/src/main/java/cn/lihongjie/coal/dto/CoalBlendRequest.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.util.List; @@ -12,7 +13,7 @@ public class CoalBlendRequest { private List constraints; - + @JsonIgnore private Map constraintMap; /** diff --git a/src/main/java/cn/lihongjie/coal/dto/CoalInfo.java b/src/main/java/cn/lihongjie/coal/dto/CoalInfo.java index 6dfdb955..65ff0837 100644 --- a/src/main/java/cn/lihongjie/coal/dto/CoalInfo.java +++ b/src/main/java/cn/lihongjie/coal/dto/CoalInfo.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.util.List; @@ -26,6 +27,7 @@ public class CoalInfo { private List parameters; + @JsonIgnore private Map parameterMap; diff --git a/src/main/java/cn/lihongjie/coal/exception/BizException.java b/src/main/java/cn/lihongjie/coal/exception/BizException.java new file mode 100644 index 00000000..a20b547a --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/exception/BizException.java @@ -0,0 +1,8 @@ +package cn.lihongjie.coal.exception; + + +import lombok.experimental.StandardException; + +@StandardException +public class BizException extends RuntimeException{ +}