java - 只显示 org.springframework.data.domain.Page 的内容,没有元数据
问题描述
我使用 spring-boot 和 apache cxf-rs 创建了其余控制器,它返回org.springframework.data.domain.Page
带有实体的 Page ( )。我的问题是 xml 形式中的页面仅返回带有实体的内容,没有元数据(可分页,排序......)。在 json 格式中,一切正常 - 页面显示内容和元数据不正确。
import org.springframework.data.domain.jaxb.PageAdapter;
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@XmlJavaTypeAdapter(PageAdapter.class)
Page<Monitor> getAllMonitors(@PathParam("page") int page,
@PathParam("size") int size){
Pageable pageable = PageRequest.of(page, size);
return repository.findAll(pageable);
}
在配置类中,我有一个用于 XML 的 Bean,由 cxf-rs 提供:
@Bean
public JAXBElementProvider jaxbElementProvider(){
JAXBElementProvider jaxbElementProvider = new JAXBElementProvider();
jaxbElementProvider.setSingleJaxbContext(true);
jaxbElementProvider.setExtraClass(new Class[] {Monitor.class});
return jaxbElementProvider;
}
我希望看到这样的页面:
<sd:page xmlns:sd="http://www.springframework.org/schema/data/jaxb" xmlns:atom="http://www.w3.org/2005/Atom">
<content>
<Monitor>
... content
</Monitor>
</content>
<pageable>
...
</pageable>
<sort>
...
</sort>
<totalElements>...</totalElements>
<numberOfElements>...</numberOfElements>
</sd:page>
但我只收到包含内容的页面:
<sd:page xmlns:sd="http://www.springframework.org/schema/data/jaxb" xmlns:atom="http://www.w3.org/2005/Atom">
<content>
<Monitor>
... content
</Monitor>
</content>
</sd:page>
我应该怎么做才能以 xml 格式显示完整页面?谢谢你的帮助!
解决方案
推荐阅读
- arrays - 使用函数在 Swift 5 中添加 2 个多维 2D 数组无法找到任何人都知道的答案。问题它的NT加起来任何人?
- html - 如何在css中动画翻转运动?
- python - 在 python 中运行 Bert Extractive Summarizer 时减少 RAM 使用量
- assembly - CS:覆盖访问 IDA 输出中的全局变量,如 mov eax、cs:x?
- javascript - 独家反应状态钩子
- sqlite - 架构错误:错误:SQLITE_ERROR:添加触发器以检查返回时输入不完整(如果日期在未来)
- sql - 错误:无法在非数组上调用 json_array_elements
- android - Firestore 不根据时间戳对我的结果进行排序
- javascript - 重新加载页面时无法读取未定义的属性“ArtisanID”
- android - ScrollView.js:BlockStatement 的属性主体 [41] 预期节点的类型为 [“Statement”],但得到“AssignmentExpression”