spring-boot - 在 kotlin 数据类中,@field:NotBlank 不起作用
问题描述
我们目前使用 jdk 14、spring boot 2.2.8.RELEASE 和 Kotlin 1.5.31。下面的类曾经在空白的名字或名字上出错。
现在我们正在尝试更新到 Spring Boot 2.5.4,它不再在我们的自动化测试用例中抛出错误。
data class ChangeInformationRequest(
@field:NotBlank var firstName: String,
@field:NotBlank var lastName: String,
@field:Valid var address: Address?
)
解决方案
问题是 Spring Boot 验证启动器不再包含在 Spring Boot 2.3 的 Web 启动器(我猜你正在使用)中(https://github.com/spring-projects/spring-boot/wiki/Spring- Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters)。这意味着 thatspring-boot-starter-validation
不再是spring-boot-starter-web
or的传递依赖spring-boot-starter-webflux
。因此,您必须自己实际添加依赖项pom.xml
,如下所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
我建议您阅读所有相关的 Spring Boot 发行说明,以便您可以提前了解哪些是可能影响您的代码的主要更改:
推荐阅读
- php - 我们如何避免冗余代码行
- json - 如何解码 json 数据 Go
- xml - Sitecore XSL:通过路径或id选择项目,获取孩子,获取孩子的Droplink项目
- azure - 如何在生产中将调试级别日志消息输出到 Application Insights
- three.js - 使用three.js在两个管几何之间绘制平面
- android - 将google cloud sql连接到android studio项目
- javascript - axios 随机请求数
- c# - 正则表达式 - 查找第 n 次出现 - Web 查看源数据
- c# - c# 建立目录树
- ios - UserDefaults 不会调用 UIPickerView didSelect Int