【发布时间】:2022-02-02 00:28:31
【问题描述】:
问题
在运行时似乎没有引用 Kotlin Spring Boot Web 项目的验证注释。
@Min(18)
val age: Int? = null
预期结果
如果不满足指定的验证条件,带注释的字段应该抛出错误。
网上有很多关于类似问题的问题,但答案似乎无法解决这个问题。
建议通常使用“get”或“field”作为注释 - 例如
@field:Min(18)
val age: Int? = null
问题再现
要了解为什么这不适用于 Kotlin,我使用本教程对 Kotlin 与 Java 进行了比较:
我在这里创建了一个 Java 应用程序:
我在这里关心 Kotlin 中的同一个应用程序:
Java 应用会验证在端口 8080 上运行的网页中的输入,但 Kotlin 应用不会。所以唯一的区别似乎是语言......
问题
- 为什么 Java 应用程序可以开箱即用,而 Kotlin 却不能?
- 需要在 Kotlin Spring Boot 验证器模板项目中添加什么才能获取
验证器来获取项目的 Java 版本中的注释?
【问题讨论】: