问题更多针对服务器端开发。
编写REST API时,我希望以一种桌面和移动应用程序可以使用它的方式编写它。
可以看到两种可能的方法:
每个API都应该支持分页,并且应该将责任委托给客户端一次性获取多少数据。因此,移动应用程序将一次性要求更少的页面,桌面应用程序将要求更多。
单独托管的移动设备的单独API。前端Web服务器可以检查用户代理(即来自请求来源的来源)以及是否是移动设备,然后将请求重新路由到托管移动设备API的服务器。
有兴趣了解更多相关策略。
感谢您的投入。
答案 0 :(得分:0)
我会推荐更接近选项(1)的东西。如果客户端之间的主要区别在于他们一次请求的数据量,那么向REST API添加某种查询参数或HTTP标头似乎是微不足道的,这表明要返回多少记录。
依赖于检查User-Agent
标头可能需要您维护已知客户端用户代理的列表并与之匹配,这将是单独API的额外维护成本。
答案 1 :(得分:0)
我会建议一点(1)和(2),这是如何。
不要为移动设备本身重新构建全新的api,而是为所有支持的设备提供适配器。即在您的REST API实现之上有一个层,它呈现/指示底层服务返回适合所选移动设备的内容。
进入分页时,您可以将分页参数化为上述抽象的输入。