我们正在使用 REST API 在我们的客户端 (UI) 和服务器之间进行通信。我们已经实现了一种资源的分页获取,例如:
GET http://../cars?page-size=10,start-index=3
从 21 号车(即 10 辆汽车的第 3 页)开始,将返回您最多 10 辆汽车。
我们希望添加一种返回具有相关实体的实体的可能性,其中一个主要实体可以有许多相关实体(可能是几十个或几百个)。目前这是使用 2 个请求完成的:例如,首先对汽车进行 GET,然后使用先前获取的汽车 ID 作为参数对门进行 GET:
GET http://../doors?car-ids=1,2,5,7,...
但是,为了尽量减少请求的数量,我们希望使用 1 个请求来返回所需的信息。出现以下问题:
- 分页应该如何与这样的功能集成?相关实体编号(门)是否应限制在主要实体(汽车)的页面大小?也许我们应该分开主要实体和相关实体的页面大小(例如 10 辆汽车,每辆汽车最多 2 个门)?
- 我们如何确保解决方案在内存使用方面在服务器端具有可扩展性?目前我们使用 JAXB 将实体序列化为 XML。我们是否应该考虑使用流式 XML 技术 (STAX) 来防止将所有实体加载到内存中?
非常感谢。