我使用Spring Boot和Kotlin以及Java8时间。不知何故,数据类字段上的Jackson注释将被忽略。
import com.fasterxml.jackson.annotation.JsonProperty
import java.time.MonthDay
data class DataView(val id: String,
@get:JsonProperty("dayOfMonth") val monthDay: MonthDay) {}
为什么会忽略这些注释?响应仍包含字段名称" monthDay"。
根据https://github.com/angular/angular-cli/issues/2377的讨论,我知道注释是正确的。
据我所知,我没有任何可能会对此产生影响的配置。
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>
...
答案 0 :(得分:0)
很奇怪。我检查这个代码本地,看起来都很好
registerKotlinModule
即使我删除@get
并从@field
更改为pid
,它仍然有效。