Spring boot Spring启动响应REST服务错误

Spring boot Spring启动响应REST服务错误,spring-boot,spring-data-jpa,spring-data-rest,Spring Boot,Spring Data Jpa,Spring Data Rest,我的项目在 当我访问任何URI(如localhost/video)时,会得到以下响应: {"_links":{"search":{ "href":"http://localhost:8080/video/search" } }, "_embedded":{ "videos":[{"id":1, "name":"Jogo da Imitacao", "url":"www.globo.com", "duration":123, "persist

我的项目在

当我访问任何URI(如localhost/video)时,会得到以下响应:

{"_links":{"search":{
        "href":"http://localhost:8080/video/search"
    }
},
"_embedded":{
"videos":[{"id":1,
    "name":"Jogo da Imitacao",
    "url":"www.globo.com",
    "duration":123,
    "persistentEntity":{
    "idProperty":
        {"name":"id",
         "rawType":"long",
         "field":{
            "name":"id",
            "type":"long",
            "modifiers":2,
            "annotations":[{},{}],
            "synthetic":false,
            "declaredAnnotations":[{},{}],
            "declaringClass":"hello.repository.Video",
            "enumConstant":false,
            "genericType":"long",
            "accessible":true},
            "association":false,
            "owner":{
                "idProperty":{
                    "name":"id",
                    "rawType":"long",
                    "field":{
                        "name":"id",
                        "type":"long",
                        "modifiers":2,
                        "annotations":[{},{}],
                        "synthetic":false,
                        "declaredAnnotations":[{},{}],
                        "declaringClass":"hello.repository.Video",
                        "enumConstant":false,
                        "genericType":"long",
                        "accessible":true
                    },
                    "association":false,
                    "owner":{
                        "idProperty":{
                            "name":"id",
                            "rawType":"long",
                            "field":{
                                "name":"id",
                                "type":"long",
                                "modifiers":2,
                                "annotations":[{},{}],
                                "synthetic":false,
                                "declaredAnnotations":[{},{}],
                                "declaringClass":"hello.repository.Video",
                                "enumConstant":false,
                                "genericType":"long",
                                "accessible":true
                            },
                                "association":false,
                                "owner":{
                                    "idProperty":{
                                        "name":"id",
                                        "rawType":"long",
                                        "field":{
                                            "name":"id",
                                            "type":"long",
                                            "modifiers":2,
                                            "annotations":[{},{}],
                                            "synthetic":false,
                                            "declaredAnnotations":[{},{}],
                                            "declaringClass":"hello.repository.Video",
                                            "enumConstant":false,
                                            "genericType":"long",
                                            "accessible":true
                                        },
                                        "association":false,
                                        "owner":{
                                            "idProperty":{
                                                "name":"id",
                                                "rawType":"long",
                                                "field":{
                                                    "name":"id",
                                                    "type":"long",
                                                    "modifiers":2,
                                                    "annotations":[{},{}],
                                                    "synthetic":false,
                                                    "declaredAnnotations":[{},{}],
                                                    "declaringClass":"hello.repository.Video",
                                                    "enumConstant":false,
                                                    "genericType":"long",
                                                    "accessible":true
                                                },
                                                "association":false,
                                                    "owner":{"idProperty":{
                                                        "name":"id",
                                                        "rawType":"long",
                                                        "field":{
                                                            "name":"id",
                                                            "type":"long",
                                                            "modifiers":2,
                                                            "annotations":[{},{}],
                                                            "synthetic":false,
                                                            "declaredAnnotations":[{},{}],
                                                            "declaringClass":"hello.repository.Video",
                                                            "enumConstant":false,
                                                            "genericType":"long",
                                                            "accessible":true
                                                        },
                                                        "association":false,
                                                            "owner":{"idProperty":{
                                                                "name":"id",
                                                                "rawType":"long",
                                                                "field":{"name":"id",
                                                                    "type":"long",
                                                                    "modifiers":2,
                                                                    "annotations":[{},{}],
                                                                    "synthetic":false,
                                                                    "declaredAnnotations":[{},{}],
                                                                    "declaringClass":"hello.repository.Video",
                                                                    "enumConstant":false,
                                                                    "genericType":"long",
                                                                    "accessible":true
                                                                },
                                                                "association":false,
                                                                "owner":{"idProperty":{
                                                                    "name":"id",
                                                                    "rawType":"long",
                                                                    "field":{
                                                                        "name":"id",
                                                                        "type":"long",
                                                                        "modifiers":2,
                                                                        "annotations":[{},{}],
                                                                        "synthetic":false,
                                                                        "declaredAnnotations":[{},{}],
                                                                        "declaringClass":"hello.repository.Video",
                                                                        "enumConstant":false,
                                                                        "genericType":"long",
                                                                        "accessible":true
                                                                    },
                                                                    "association":false,
                                                                        "owner":{"idProperty":{
                                                                            "name":"id",
                                                                            "rawType":"long",
                                                                            "field":
在Eclipse中,输出为:

2015-08-16 20:21:32.827  WARN 4696 --- [tp1794644129-17] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'dispatcherServlet'
2015-08-16 20:24:31.773  WARN 4696 --- [tp1794644129-20] org.eclipse.jetty.server.Response        : Committed before 500 null
2015-08-16 20:24:31.783  WARN 4696 --- [tp1794644129-20] .w.s.m.s.DefaultHandlerExceptionResolver : Handling of [org.springframework.http.converter.HttpMessageNotWritableException] resulted in Exception

java.lang.IllegalStateException: Committed
    at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1243)
    at org.eclipse.jetty.server.Response.sendError(Response.java:567)
    at org.eclipse.jetty.server.Response.sendError(Response.java:544)
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.sendServerError(DefaultHandlerExceptionResolver.java:313)
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpMessageNotWritable(DefaultHandlerExceptionResolver.java:370)
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.doResolveException(DefaultHandlerExceptionResolver.java:140)
    at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:138)
    at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:74)
    at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1183)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1020)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:295)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:102)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:68)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:722)

2015-08-16 20:24:31.807  WARN 4696 --- [tp1794644129-20] o.eclipse.jetty.servlet.ServletHandler   : 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"])
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:295)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:102)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:68)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:722)
Caused by: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:238)
    at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208)
    at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:161)
    at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101)
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:185)
    at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71)
    at org.springframework.data.rest.webmvc.ResourceProcessorHandlerMethodReturnValueHandler.handleReturnValue(ResourceProcessorHandlerMethodReturnValueHandler.java:172)
    at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:126)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
    ... 37 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]->org.springframework.data.jpa.mapping.JpaPersistentEntityImpl["idProperty"]->org.springframework.data.jpa.mapping.JpaPersistentPropertyImpl["owner"]
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:653)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:505)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639)
我在这个项目中做错了什么


该项目基于,但使用Gradle。

我想它是说,在要JSONified的实体中,您有一个循环关系。当我有一个
用户
实体有一个
lastModifiedBy
字段时,我就遇到了这个问题。当用户更新自己时,
lastModifiedBy
指向同一用户对象。为了解决这个问题,我必须用

@JsonIgnoreProperties({ "createdBy", "lastModifiedBy" })

我认为这是说,在要JSONified的实体中,有一个循环关系。当我有一个
用户
实体有一个
lastModifiedBy
字段时,我就遇到了这个问题。当用户更新自己时,
lastModifiedBy
指向同一用户对象。为了解决这个问题,我必须用

@JsonIgnoreProperties({ "createdBy", "lastModifiedBy" })

我想指出@JsonIgnore不适合我。我得到这个错误时

(a) 我将Accept头指定为“application/x-spring-data-verbose+json” (b)我是在一个非常简单的JPA实体上做这件事的,这个实体有几个字段没有到其他JPA实体的链接

我使用的是Spring数据2.4.1


在大家的启发下,这似乎是Spring数据的一个问题

我想指出@JsonIgnore不适合我。我得到这个错误时

(a) 我将Accept头指定为“application/x-spring-data-verbose+json” (b)我是在一个非常简单的JPA实体上做这件事的,这个实体有几个字段没有到其他JPA实体的链接

我使用的是Spring数据2.4.1


在大家的启发下,这似乎是Spring数据的一个问题

似乎您遇到了一个异常,映射中出现了一个递归。我运行了该项目并指向/video。但是我没有得到错误。如何触发错误?在原始项目中,错误不会发生!在这里,对于maven,错误总是会发生。我运行mvn spring boot:run请查看我的答案,好像你有一个异常,在你的映射中有一个递归。我运行了这个项目并指向/video。但是我没有得到错误。如何触发错误?在原始项目中,错误不会发生!在这里,对于maven,错误总是会发生。我使用mvn spring boot:run运行请在Look类中检查我的答案。这很简单。最初的项目在,不需要这个修复并且可以工作。是的,这个类似乎没有任何错误。但是您提供的JSON输出似乎是递归的。不确定它是如何产生的-可能是一些热的,我不熟悉。但无论如何,对我来说,这个错误似乎只是由循环递归引起的。删除应用程序类的对象映射器后,项目运行了!看起来很有品位。这很简单。最初的项目在,不需要这个修复并且可以工作。是的,这个类似乎没有任何错误。但是您提供的JSON输出似乎是递归的。不确定它是如何产生的-可能是一些热的,我不熟悉。但无论如何,对我来说,这个错误似乎只是由循环递归引起的。删除应用程序类的对象映射器后,项目运行了!