提问人:TakiTamNerd 提问时间:8/31/2023 更新时间:9/2/2023 访问量:63
雅加达验证似乎无济于事
Jakarta validation does not seem to do anything
问:
我使用 Kotlin 和 Spring。我可以使用正常的“if”和异常来验证这些值,但至少在理论上,框架提供了一种验证方法
根据互联网上的文档和帖子,以下内容就足够了:
data class Person(@Min(18) var age: Int, @Size(max=10) val name: String) {
}
和控制器:
@RestController
class PersonController {
val persons = mutableListOf<Person>()
@GetMapping
fun getPeople() = persons
@PostMapping
fun sendPerson(@Valid @RequestBody person: Person) {
persons.add(person)
}
}
My 包含以下依赖项:build.gradle
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
(版本为 3.1.3)
为什么注释似乎没有做任何事情以及如何修复它?
答:
1赞
TakiTamNerd
8/31/2023
#1
正如评论所指出的:Kotlin 至少创建了一个字段、一个 getter 和一个带有语法的构造函数参数,因此我们需要准确地告诉我们要验证的内容
TLDR:只需更改为@get:Valid
上一个:Spring Boot 验证大小
评论