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>

我的父母是:

 <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 );
}

编辑:

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

感谢大家的帮助!

原文由 martins.tuga 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 623
2 个回答

验证启动器不再包含在 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>

原文由 Braian Silva 发布,翻译遵循 CC BY-SA 4.0 许可协议

根据 spring boot 2.3.1 版本,不再包含带有 spring starter 的 spring-boot-starter-validation

如何添加入门验证

行家

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

摇篮

dependencies {
  ...
  implementation 'org.springframework.boot:spring-boot-starter-validation'
}

审阅发行说明

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters

原文由 LalithK90 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题