【问题标题】:kotlin data class with annotations, why @DateTimeFormat annotation works without targetting带有注释的 kotlin 数据类,为什么 @DateTimeFormat 注释可以在没有定位的情况下工作
【发布时间】:2020-01-26 05:46:50
【问题描述】:
data class UserSearchRequest(
        @field:NotNull
        val active: Boolean?,
        // no targeting work
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) 
        @field:NotNull
        val registeredDate: LocalDate,
)

为什么@DateTimeFormat 注释在没有定位的情况下也能工作?

【问题讨论】:

  • 不确定您所说的定位是什么意思。 @DateTimeFormat 引用 registeredDate 因为它是下一个字段,所以它有一个目标。
  • @Neil 定位我的意思是输入 '@field:' 或 '@get',指的是 kotlinlang.org/docs/reference/…
  • 在 kotlin 数据类中,如果你没有在注解上指定目标,它将被添加到构造函数中而不是在字段本身上,所以注解不会像 @NotNull 一样不起作用是不是

标签: spring spring-boot kotlin jackson


【解决方案1】:

您注册了 kotlin 模块,它允许您将 jackson 注释应用于构造函数参数而无需定位,但它不适用于 Java 验证,如 NotNull 注释

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-08
    • 2015-08-03
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多