feat(web): 添加接口参数校验异常处理
- 在 GlobalExceptionHandler 中新增 BindException 处理方法 - 返回字段校验错误信息,提升接口调试体验 - 引入 spring-boot-starter-validation 依赖 - 升级 zkh-framework 版本至 1.4 - 同步升级 zkh-common、zkh-data 和 zkh-web 模块版本
This commit is contained in:
2
pom.xml
2
pom.xml
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user