简体   繁体   中英

Spring boot 2.0.0.BUILD-SNAPSHOT rest: Can not override _serializer?

After I refresh my spring boot Project with gradle, I get the following Error:

{
  "timestamp": 1492300922752,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "org.springframework.http.converter.HttpMessageNotWritableException",
  "message": "Could not write JSON document: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources[\"_embedded\"]->java.util.Collections$UnmodifiableMap[\"orders\"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources[\"_embedded\"]->java.util.Collections$UnmodifiableMap[\"orders\"]->java.util.ArrayList[0])",
  "path": "/orders"
}

I use 2.0.0.BUILD-SNAPSHOT

2017-04-16 02:00:58.845  INFO 36126 --- [  restartedMain] d.p.o.OrderRestServiceApplication        : Started OrderRestServiceApplication in 11.163 seconds (JVM running for 37480.653)
2017-04-16 02:02:02.714  INFO 36126 --- [nio-8083-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2017-04-16 02:02:02.714  INFO 36126 --- [nio-8083-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2017-04-16 02:02:02.717  INFO 36126 --- [nio-8083-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 3 ms
2017-04-16 02:02:02.717 DEBUG 36126 --- [nio-8083-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter  : Bound request context to thread: org.apache.catalina.connector.RequestFacade@5b2fb354
2017-04-16 02:02:02.724 DEBUG 36126 --- [nio-8083-exec-2] org.hibernate.SQL                        : select order0_.id as id1_1_, order0_.create_date as create_d2_1_, order0_.customer_id as customer3_1_, order0_.ordered_date as ordered_4_1_, order0_.payment_order_id as payment_5_1_, order0_.shipping_order_id as shipping6_1_, order0_.status as status7_1_ from orders order0_ limit ?
Hibernate: select order0_.id as id1_1_, order0_.create_date as create_d2_1_, order0_.customer_id as customer3_1_, order0_.ordered_date as ordered_4_1_, order0_.payment_order_id as payment_5_1_, order0_.shipping_order_id as shipping6_1_, order0_.status as status7_1_ from orders order0_ limit ?
2017-04-16 02:02:02.728 DEBUG 36126 --- [nio-8083-exec-2] org.hibernate.SQL                        : select count(order0_.id) as col_0_0_ from orders order0_
Hibernate: select count(order0_.id) as col_0_0_ from orders order0_
2017-04-16 02:02:02.749  WARN 36126 --- [nio-8083-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON document: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources["_embedded"]->java.util.Collections$UnmodifiableMap["orders"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources["_embedded"]->java.util.Collections$UnmodifiableMap["orders"]->java.util.ArrayList[0])
2017-04-16 02:02:02.750  WARN 36126 --- [nio-8083-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON document: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources["_embedded"]->java.util.Collections$UnmodifiableMap["orders"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not override _serializer: had a org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$NestedEntitySerializer, trying to set to com.fasterxml.jackson.databind.ser.std.StringSerializer (through reference chain: org.springframework.hateoas.PagedResources["_embedded"]->java.util.Collections$UnmodifiableMap["orders"]->java.util.ArrayList[0])
2017-04-16 02:02:02.750 DEBUG 36126 --- [nio-8083-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter  : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@5b2fb354

我将项目降级为springBootVersion 1.5.2.RELEASE

I lately had the same issue with Spring Boot 2.0.0.M2, but found out that the Jackson version used by 2.0.0.M2 has a flaw. Downgraded that from 2.9.0.pr3 to 2.8.9 . It now works.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM