【发布时间】:2018-05-20 09:48:58
【问题描述】:
我正在使用带有 Kotlin 和 Java8 时间的 Spring Boot。不知何故,数据类字段上的 Jackson 注释被忽略了。
import com.fasterxml.jackson.annotation.JsonProperty
import java.time.MonthDay
data class DataView(val id: String,
@get:JsonProperty("dayOfMonth") val monthDay: MonthDay) {}
为什么会忽略这些注释?响应仍然包含字段名称“monthDay”。
根据discuss.kotlinlang.org 上的讨论,我知道注释是正确的。
据我所知,我没有任何会影响这一点的配置。
pom 包含:
...
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>1.5.6.RELEASE</version>
<relativePath/>
</parent>
...
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-kotlin</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate5</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hppc</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-json-org</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-afterburner</artifactId>
</dependency>
...
【问题讨论】:
-
反对者是否愿意解释为什么他们认为这不是一个好问题?
标签: spring-boot jackson kotlin