我有一个用 Apache Jersey 1.17 编写的 RESTful Web 服务。定义如下:
@GET
@Produces({ APPLICATION_JSON, APPLICATION_XML })
public Page<Document> findDocuments(
@QueryParam("") final DocumentSearchCriteria searchCriteria)
它只是执行一个查询并返回一个可分页的文档列表。它使用 Spring Data JPA,并且可分页对象是 Spring Data Commons 库的一部分。
在将列表的输出序列化为 JSON 或 XML 格式之前,一切正常。Jersey 被配置为使用 JAXB 方法,并且 Spring Data 存储库抽象返回正确的数据。
我得到的错误是:
未找到 Java 类 org.springframework.data.domain.PageImpl 和 Java 类型 org.springframework.data.domain.Page<> 和 MIME 媒体类型 application/json 的消息正文编写器
我看到 Spring Data 有 JAXB 适配器,它们应该负责序列化 Pageable 对象,所以我想知道这个功能是否是开箱即用的,或者是否需要一些额外的配置,因为我以前没有使用过 JAXB。
所以问题是如何使用 JAXB 序列化 Spring Data 对象?
谢谢。