【发布时间】:2015-09-16 14:52:33
【问题描述】:
我将实现一个可供移动设备(Android、iOS)和网络应用程序使用的网络 API。根据我对 Web API 的理解,它应该与客户端无关,因此无论哪个客户端使用它:移动应用程序、Web 应用程序、控制台应用程序等。
当一位移动开发人员建议我根据移动应用视图设计所有 API 方法时,我的担忧就出现了。例如,在一个视图中我需要显示有关用户及其产品的信息,我认为我需要创建 2 个方法:
- /users/231
- /users/231/products/1453
但根据移动开发人员的说法,我只需要创建一种方法,只需一次调用即可返回所有视图数据:
- 视图/初始视图/参数
他的主要论点是我们需要减少对服务器的调用。但我看到的缺点是,如果在某些时候屏幕/视图发生变化,我们将需要更改 API,其他客户端也可以实现不同的视图结构。
为每个视图提供 API 方法是否是一种好习惯,只有一个调用会返回该视图所需的所有数据? 要么 无论客户端对服务器进行多少次调用,处理 API 中的原子/单一责任方法以供客户端使用是否更好?
请给我一些指导,并告诉我多次调用是否会影响性能或有缺点。 我认为无论客户端调用多少次,如果服务器的响应是毫秒级的。所以客户端处理调用的组合。
也欢迎任何文章或更多参考资料。 先感谢您。
【问题讨论】:
-
我的问题更倾向于多调用是否是移动应用程序中的反模式?例如,执行 4 次调用以从视图到视图检索数据,因为 API 应该返回原子/特定响应。
标签: android mobile asp.net-web-api2 asp.net-web-api appcelerator