Spring返回JSON中的代理对象

Spring返回JSON中的代理对象,json,spring,jersey,spring-data,Json,Spring,Jersey,Spring Data,我正在使用Spring数据存储库来持久化对象。我试图通过RESTWebAPI(Jersey)返回它们并得到一个错误,但当我试图返回普通的POJO对象时,一切看起来都很好,Jersey将对象解析为JSON,我得到的响应代码是200 @POST @Path("/test") @Produces( MediaType.APPLICATION_JSON ) public Document test() { Document d = documentRepository.findOne(123L)

我正在使用
Spring数据存储库
来持久化对象。我试图通过RESTWebAPI(
Jersey
)返回它们并得到一个错误,但当我试图返回普通的POJO对象时,一切看起来都很好,Jersey将对象解析为JSON,我得到的响应代码是200

@POST
@Path("/test")
@Produces( MediaType.APPLICATION_JSON )
public Document test() {
    Document d = documentRepository.findOne(123L);

    return d; // response code 500 without any stack trace

    return new Document(); // normal JSON object in response content
}
我对泽西岛的依赖:

    <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-spring3</artifactId>
        <version>2.16</version>         
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-processing</artifactId>
        <version>2.16</version>
    </dependency>

org.glassfish.jersey.ext
泽西-斯普林3
2.16
org.glassfish.jersey.media
jersey媒体json处理
2.16
web.xml:

<servlet>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

javax.ws.rs.core.Application
1.
javax.ws.rs.core.Application
/ws/*

如何从spring数据存储库返回代理对象或这些对象的列表?

您是否确保documentRepository.findOne()方法确实返回了正确的文档且不为空?是的,我调试了代码,它是代理对象请按如下方式尝试:返回响应。确定(d,MediaType.APPLICATION_JSON)。build();将返回类型更改为Response.Same问题-代码500是否使用注释@XmlRootElement(javax.xml.bind.annotation.XmlRootElement)对文档类进行了注释?而且,如果您将调试日志打印到控制台,也会更好。