用gradle刷新Spring启动项目后,出现以下错误:
{
"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"
}
我使用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
答案 0 :(得分:1)
我将我的项目降级为springBootVersion 1.5.2.RELEASE
答案 1 :(得分:1)
我最近遇到了与Spring Boot 2.0.0.M2相同的问题,但发现2.0.0.M2使用的Jackson版本有一个缺陷。从2.9.0.pr3
降为2.8.9
。它现在有效。