diff --git a/services/delivery-platform-api/src/main/java/cn/craftlabs/platform/api/config/ApiExceptionHandler.java b/services/delivery-platform-api/src/main/java/cn/craftlabs/platform/api/config/ApiExceptionHandler.java index 67181dd..f9bd38f 100644 --- a/services/delivery-platform-api/src/main/java/cn/craftlabs/platform/api/config/ApiExceptionHandler.java +++ b/services/delivery-platform-api/src/main/java/cn/craftlabs/platform/api/config/ApiExceptionHandler.java @@ -1,5 +1,7 @@ package cn.craftlabs.platform.api.config; +import jakarta.validation.ConstraintViolationException; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -18,4 +20,20 @@ public class ApiExceptionHandler { body.put("message", ex.getReason() != null ? ex.getReason() : ""); return ResponseEntity.status(ex.getStatusCode()).body(body); } + + @ExceptionHandler(ConstraintViolationException.class) + public ResponseEntity> handleConstraintViolation(ConstraintViolationException ex) { + Map body = new LinkedHashMap<>(); + body.put("status", HttpStatus.BAD_REQUEST.value()); + body.put("message", "参数校验失败: " + ex.getMessage()); + return ResponseEntity.badRequest().body(body); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity> handleGeneral(Exception ex) { + Map body = new LinkedHashMap<>(); + body.put("status", HttpStatus.INTERNAL_SERVER_ERROR.value()); + body.put("message", "服务器内部错误"); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(body); + } }