我是Spring Framework MVC和LDAP的新手 . 我正在尝试制作RESTful API,实际上我已经做到了 . 我可以通过调用apis来获取其他json对象 . 但是当这些是LDAP类时,我无法获取json对象 . 我的意思是我认为LDAP类无法转换为json对象 .

什么LDAP类意味着类具有此注释:@Entry(objectClasses = {“inetOrgPerson”,“organizationalPerson”,“person”,“top”},base =“ou = People”)

This is the message when I try to get json objects by calling rest apis : org.springframework.http.converter.HttpMessageNotWritableException:无法编写JSON:找不到类javax.naming.ldap.LdapName $ 1的序列化程序,并且没有发现创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))(通过引用) chain:org.springframework.ldap.samples.useradmin.domain.User ["id"] - > javax.naming.ldap.LdapName ["all"]);嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:找不到类javax.naming.ldap.LdapName $ 1的序列化器,并且没有发现创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))(通过引用链:org .springframework.ldap.samples.useradmin.domain.User ["id"] - > javax.naming.ldap.LdapName ["all"])org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.writeInternal(MappingJackson2HttpMessageConverter.java:207)at at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:179)位于org.springframework.web的org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:148) . org中的servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:90) . 在org.springframework.web的org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:69)上的springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:189) . servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:122)位于org.springframework.web的org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) . servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)位于org.springframework.web.servlet的org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) . DispatcherServlet.doDispatch(DispatcherServlet.java:925)位于org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:856)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)位于javax.servlet的org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) . 位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)的http.HttpServlet.service(HttpServlet.java:735)位于org的javax.servlet.http.HttpServlet.service(HttpServlet.java:848)位于org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1496)的.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) (HiddenHttpMethodFilter.java:77)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1476)at org . org.eclipse.jetty.server.handler.Scoped的eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) Handler.handle(ScopedHandler.java:137)org.eclipse.jetty.securityHandler.handle(SecurityHandler.java:557)org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) org.eclipse.jetty.server.handHandle上的org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)org.eclipse.jetty.server.sev上的org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) .sessionHandler.doScope(SessionHandler.java:193)位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)at atOrg.eclipse.jetty.handle(ScopedHandler.java:135)org.eclipse.jetty.handle(ScopedHandler.java:135)org.eclipse.jetty.handle(ContextHandlerCollection.java:255)org.eclipse.jetty.server . handler.HandlerCollection.handle(HandlerCollection.java:154)位于org.eclipse.jetty.server.handle的org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)处(Server.java: 370)在org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)在org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)在org.eclipse.jetty.server.AbstractHttpConnection $ RequestHandler.headerComplete(AbstractHttpConnection.java:1033)在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)在org.eclipse.jetty.handle(AsyncHttpConnection.java:82)org.eclipse.jetty.io.nio.SelectChannelEndPoint.h上的org.eclipse.jetty.server.AsyncHttpConnection.java:82 andle(SelectChannelEndPoint.java:667)org.eclipse.jetty.io.nun.SelectChannelEndPoint $ 1.run(SelectChannelEndPoint.java:52)org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) )atg.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:543)at java.lang.Thread.run(Thread.java:745)引起:com.fasterxml.jackson.databind.JsonMappingException :找不到类javax.naming.ldap.LdapName $ 1的序列化程序,并且没有发现创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))(通过引用链:org.springframework.ldap.samples.useradmin.domain.User ["id"] - > javax.naming.ldap.LdapName ["all"])位于com.fasterxml.jackson.databind.ser的com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:59) . 在com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanProp)中的impl.UnknownSerializer.serialize(UnknownSerializer.java:26) ertyWriter.java:569)com.fasterxml.jackson.databson.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)在com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569)在com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)在com.fasterxml.jackson .databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)在com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:118)在com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper .java:1819)在org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.writeInternal(MappingJackson2HttpMessageConverter.java:204)... 45更多引起:

com.fasterxml.jackson.databind.JsonMappingException:找不到类javax.naming.ldap.LdapName $ 1的序列化程序,并且没有发现创建BeanSerializer的属性(以避免异常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))(通过引用链:org.springframework . ldap.samples.useradmin.domain.User [“id”] - > javax.naming.ldap.LdapName [“all”])at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java: 59)at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:26)at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569)at com.fasterxml .jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)位于com.fasterxml.jackson.dacson上的com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142) . com.fasterxml.jackson.databind.ser.s .BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569) td.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)在com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)在com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider . 的java:118)在com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1819)在org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.writeInternal(MappingJackson2HttpMessageConverter.java:204)在org.springframework.http .converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:179)at atorg.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:148)在org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:90)在org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:189)在org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:69)在org.springframework . web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:122)位于org.springframework的org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) . web.servlet.mvc.method.annotation.Reques位于org.springframework.wev上的org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)中的tMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:80):DispatcherServlet.doDispatch(DispatcherServlet.java: 925)在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)在org.springframework.web.servlet.FrameworkServlet .doGet(FrameworkServlet.java:844)在javax.servlet.http.HttpServlet.service(HttpServlet.java:735)在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)在的javax.servlet . http.HttpServlet.service(HttpServlet.java:848)在org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java: 1496)org.springframework.web.filter.HiddenHttpMethodFilter.doFi lterInternal(HiddenHttpMethodFilter.java:77)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1476)at org .eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)在org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)在org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:557)在org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)在org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)在org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)在org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)在org.eclipse.jetty.server.handler . 在org.eclipse.jetty.server.handl的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)的ContextHandler.doScope(ContextHandler.java:1020) er.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)在org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)在org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper . java:116)atg.eclipse.jet.Server.handle(Server.java:370)org.eclipse.jetty.server.Abstract.Det.Derp请求(AbstractHttpConnection.handle请求.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)在org.eclipse.jetty.server.AbstractHttpConnection $ RequestHandler.headerComplete(AbstractHttpConnection.java:1033)在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644 )在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)在org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)在org.eclipse.jetty.io.nio . SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)位于org.eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run(SelectChannelEndP) oint.java:52)在org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)在org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:543)在java.lang.Thread.run(Thread.java:745)