我现在使用cxf的rest搭建服务,可以碰到Rest无法分页的问题。直接贴出代码
@XmlRootElement(name="User") @XmlAccessorType(XmlAccessType.FIELD) public class User { private String userId; private String userName; // get set 方法省了 } @XmlRootElement(name="Page") @XmlAccessorType(XmlAccessType.FIELD) public class Page { /** * 每页的展现条数 */ private int pageSize = 20; /** * 总记录数 */ private int totalCount; /** * 总页数 */ private int totalPage; /** * 当前页数 */ private int currentPage = 0; /** * 当前页起始记录 */ private int startIndex = 0; /** * 查询结果集 */ @XmlElementWrapper(name="items") // 在集合外包一层,名为items @XmlElement(name="item") // 集合单个元素,名为item private List items; }
这是起初的做法,后台提示“...User 以及其任何超类对此上下文都是未知的”,意思是List中的元素无法转换;
后来继续查找,说是用到@XmlSeeAlso注解,改良为如下,该方案可行,可以转换为json或xml输出。
但是,弊端是,这个分页类就无法通用了,每增加一个类型的分页就要在XmlSeeAlso里增加一个。
@XmlRootElement(name="PaginationSupport") @XmlAccessorType(XmlAccessType.FIELD) @XmlSeeAlso({User.class}) public class PaginationSupport implements java.io.Serializable{ 。。。 }
最后,增加泛型PaginationSupport<T>,也无济于事,不能转换。
请大家帮看看,到底CXF rest的分页如何实现。
相关推荐
以上是关于"Apache CXF + Spring3 + REST + JSON配置"的基本介绍,实际应用中可能涉及更多的细节和高级特性,如错误处理、分页、过滤器、拦截器等。在具体实践中,应结合项目需求灵活运用这些技术,以构建高效、可靠...
项目使用的是mybatis分页拦截器实现的分页,该链接是一个单表分页,如果想联表分页请将mapping中返回值类型改为map,同时进行联表查询, 谢谢大家 有疑问的地方可以留言或者发我邮箱sl166199@163.com
**JAX-RS CXF Web服务 RESTful CRUD与Spring集成详解** JAX-RS(Java API for RESTful Web Services)是Java平台上的一个标准,用于创建RESTful Web服务。REST是一种轻量级的架构风格,它以资源为中心,通过HTTP...
集成CXF REST服务涉及到多个步骤,包括设置项目结构、添加依赖、配置CXF和编写RESTful服务。首先,我们需要一个标准的Java项目结构,通常包括src/main/java(源代码)、src/main/resources(资源文件)以及pom.xml...
在CXF中,你可以使用Java API for RESTful Web Services (JAX-RS)标准来定义REST接口,这使得API的编写非常直观。 例如,你可以创建一个名为`HelloWorldService`的Java类,包含一个返回问候信息的方法: ```java @...
本篇文章将深入探讨如何使用Apache CXF实现REST服务。 首先,让我们了解REST的基本概念。REST是一种软件架构风格,设计用于分布式超媒体系统,如互联网。它的核心原则是通过HTTP协议的动词(GET、POST、PUT、DELETE...
然后,我们创建了`jaxrsServerFactoryBean`,它告诉CXF如何启动和配置REST服务,包括服务位置和要处理的服务列表。 集成完成后,我们可以通过浏览器或者使用curl命令来测试这个REST服务。例如,对于上面的`sayHello...
在本项目中,"maven 项目cxf 使用jqgrid4.4.3 项目开发代码" 是一个基于Maven构建的Java应用,利用Apache CXF框架开发RESTful服务,并结合jqGrid 4.4.3这个前端JavaScript库进行数据展示和交互。以下是关于这些技术...
10. **性能优化**:使用缓存、分页、负载均衡、CDN(内容分发网络)等技术可以提高REST服务的性能和可扩展性。 综上所述,"REST webservices多资源"的资料可能涵盖了如何设计和实现能够处理多种类型资源的RESTful...
9. **分页和过滤**: REST服务常需支持分页和过滤功能,这可以通过添加查询参数如`page`、`size`和`sort`实现。 10. **API版本管理**: 良好的REST服务应支持API版本控制,可以使用URL路径(如`/v1/users`)或HTTP头...
REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,用于设计网络应用程序,特别是Web服务。在本文中,我们将深入探讨RESTful Web API的设计原则、实现方式以及与Java的结合。 首先,...
- 分页与排序:对于大量数据,提供分页和排序选项,避免一次性返回过多数据。 - 异步处理:对于耗时操作,可采用异步处理,提高响应速度。 总结,REST API是Java开发Web服务的重要工具,其设计遵循REST原则,使用...
1. **Web服务**:Web服务是SOA的核心,通过使用SOAP(Simple Object Access Protocol)或REST(Representational State Transfer)等协议,使服务可以通过HTTP进行通信。书中可能包含如何创建、调用和测试Web服务的...