如何避免Joda对象中的内容字段?

时间:2016-08-26 18:37:24

标签: java jodatime spring-data-rest spring-hateoas jackson-modules

我在文档中使用Joda对象(DateTime和DateTimeZone),每当我通过REST接口访问它时,我都会得到包含这样字段的条目

lastAggregationDate: { content: "2016-07-12T17:58:43.643Z" }

而不是

lastAggregationDate: "2016-07-12T17:58:43.643Z"

我宣布了Joda Jackson依赖项,我看到了这些类型的de / serializers,所以我很困惑这里有什么工作。

我在slightly modified Spring sample project中重复了这种行为,但使用的是Java的本机日期类型,而不是Joda的。我已将一个出生日期属性添加到Person对象,并修改了shouldRetrieveEntity测试以查找$.dateOfBirth.content。我已经确认正在使用序列化程序,似乎LocalDate对象被视为资源而不是简单属性。

2 个答案:

答案 0 :(得分:2)

Spring Data Hopper-SR4修复了这个问题: https://jira.spring.io/browse/DATAMONGO-1498

答案 1 :(得分:1)

Spring Boot未正确设置MongoMappingContext导致问题。已经为Spring Boot创建了一个故障单,预计1.4.1版本的修复程序(这个答案归功于Oyku Gencay和Oliver Gierke)。有关详细信息,请参阅ticketpull request