feat(web): 添加接口参数校验异常处理

- 在 GlobalExceptionHandler 中新增 BindException 处理方法
- 返回字段校验错误信息,提升接口调试体验
- 引入 spring-boot-starter-validation 依赖
- 升级 zkh-framework 版本至 1.4
- 同步升级 zkh-common、zkh-data 和 zkh-web 模块版本
This commit is contained in:
zkh
2025-11-24 15:24:59 +08:00
parent 976e76ba9c
commit a7e1c26853
5 changed files with 22 additions and 4 deletions

View File

@ -6,7 +6,7 @@
<groupId>vip.jcfd</groupId>
<artifactId>zkh-framework</artifactId>
<version>1.3</version>
<version>1.4</version>
<packaging>pom</packaging>
<name>ZKH Framework</name>
<description>A Java framework for ZKH applications</description>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>vip.jcfd</groupId>
<artifactId>zkh-framework</artifactId>
<version>1.3</version>
<version>1.4</version>
</parent>
<artifactId>zkh-common</artifactId>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>vip.jcfd</groupId>
<artifactId>zkh-framework</artifactId>
<version>1.3</version>
<version>1.4</version>
</parent>
<artifactId>zkh-data</artifactId>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>vip.jcfd</groupId>
<artifactId>zkh-framework</artifactId>
<version>1.3</version>
<version>1.4</version>
</parent>
<artifactId>zkh-web</artifactId>
@ -23,6 +23,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>

View File

@ -2,12 +2,17 @@ package vip.jcfd.web.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.resource.NoResourceFoundException;
import vip.jcfd.common.core.BizException;
import vip.jcfd.common.core.R;
import java.util.List;
@RestControllerAdvice
public class GlobalExceptionHandler {
@ -30,4 +35,13 @@ public class GlobalExceptionHandler {
log.error("404异常", e);
return new R<>(404, "您访问的地址不存在", false, null);
}
@ExceptionHandler(value = BindException.class)
public R<String> handleBindException(BindException e) {
log.error("接口入参校验失败", e);
List<FieldError> fieldErrors = e.getBindingResult().getFieldErrors();
return R.error(String.join("\n", fieldErrors.stream().map(FieldError::getDefaultMessage).toList()));
}
}