首页 > 解决方案 > Spring Boot - 从 2.2.5 升级到 2.3.0 后验证停止工作

问题描述

我已经将 Spring Boot 项目从 2.2.5 迁移到 2.3.0,之后,验证停止工作(根本没有调用它们)。

我阅读了变更日志文档(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3.0-M1-Release-Notes),spring-boot-starter-validation现在需要手动添加作为依赖项。

所以,我将它添加到我的 pom.xml 中:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

我的pom父母是:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.RELEASE</version>
    <relativePath></relativePath>
</parent>

我的控制器看起来像这样:

@PostMapping( value = "/signup", consumes = MediaType.APPLICATION_JSON_VALUE )
@ResponseStatus( value = HttpStatus.OK )
public void signUp( @Valid @RequestBody ClientDto clientDto )
{
    onboardingService.signUp( clientDto );
}

编辑:

我能够找到问题,请在下面查看我的答案!

感谢大家的帮助!

标签: javaspringspring-bootvalidation

解决方案


验证启动器不再包含在 Web 启动器中。

spring-boot-starter-validation 不再是 spring-boot-starter-web 和 spring-boot-starter-webflux 的传递依赖。

添加此依赖项以进行验证工作。

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

推荐阅读