3

내가 사용 Joda 객체 (날짜 시간 및 DateTimeZone는) 내가이Joda 객체의 내용 필드는 어떻게 피합니까? 나는 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에서 복제했지만 Joda 's가 아닌 Java의 기본 날짜 형식을 사용했습니다. Person 객체에 생년월일 속성을 추가하고 $.dateOfBirth.content을 찾기 위해 shouldRetrieveEntity 테스트를 수정했습니다. 나는 serializer가 사용되고 있음을 확인했으며, LocalDate 객체가 단순한 속성이 아닌 리소스로 취급되고있는 것처럼 보입니다.

+0

도 참조 http://stackoverflow.com/q/39170405/466738 같은 문제에 대한 –

+0

감사합니다, 아담. Marc은 문제를 문서화하는 훌륭한 일을했으며, 그의 게시물은 1.4.0으로 업그레이드를 부탁하는 데 도움이됩니다. 나는 동일한 것을 의심하고 1.4.0 이전의 의존성을 사용하여 분기를 추가하여 샘플을 확인합니다. – roborative

+0

수정 된 테스트 코드로 [branch] (https://github.com/robmoore/gs-accessing-mongodb-data-rest/tree/spring-1.3.7)를 추가하여 'content'wasn이 없음을 입증했습니다. 1.4.0 이전에 존재하지 않습니다. – roborative

답변

0

스프링 부트의 문제는 MongoMappingContext을 올바르게 설정하지 않았기 때문에 발생합니다. Spring Boot를위한 티켓이 만들어졌으며 1.4.1 릴리스에 대한 수정이 예상됩니다 (이 대답은 Oyku Gencay와 Oliver Gierke에게 주어짐). 자세한 내용은 ticket 또는 pull request을 참조하십시오.

이 봄 데이터 호퍼-SR4에서 해결
+0

방금 ​​Sprint Boot 1.4.1에 대한 의존성을 업데이트했습니다. pull 요청에 의해 추가 된 테스트는 java.time.LocalDateTime으로 결과를 검사합니다. joda 시간 개체로 설명 된 문제가 남아 있습니다. –

+0

나의 이전 코멘트를 잊어 버리십시오. Spring Boot 1.4.1 *로 업그레이드하면이 게시물에 설명 된 문제가 해결되지만, @EnableMongoAudit을 사용하여 주 응용 프로그램 클래스에 주석을 추가하면 직렬화가 다시 중단됩니다. –

+0

나는 내 프로젝트에서 똑같은 것을 보았다. Spring 티켓에 언급 된대로 중간에'@JsonUnwrapped'를 사용하여 끝났습니다. – roborative