Ios 多个RESTful Web服务调用与MySQL连接
我目前正在为我当前的一个iPhone应用程序使用node.js构建一个RESTful web服务。目前,该系统的工作原理如下:Ios 多个RESTful Web服务调用与MySQL连接,ios,web-services,node.js,rest,design-patterns,Ios,Web Services,Node.js,Rest,Design Patterns,我目前正在为我当前的一个iPhone应用程序使用node.js构建一个RESTful web服务。目前,该系统的工作原理如下: 客户端向node.js服务器发出请求,服务器进行适当的计算和MySQL查找,并返回数据 客户端的反应器处理响应并更新UI 我一直在思考的一件事是对我的服务器进行多个API调用与在MySQL数据库中执行多个join语句然后返回构造对象的一个调用之间的差异(在性能和最佳实践方面) 例如: 假设我正在加载要在UI中显示的用户配置文件。用户有个人资料图片、基本信息和新闻提要
- 客户端向node.js服务器发出请求,服务器进行适当的计算和MySQL查找,并返回数据
- 客户端的反应器处理响应并更新UI
- 向服务器发出getUser请求,服务器将在数据库中执行如下查询:
在用户上选择*从用户加入用户\u信息。用户\u id=用户\u信息。用户\u id左加入用户\u配置文件\u图片用户\u id=用户。用户\u id
然后,服务器将返回一个构造的用户对象,其中包含来自每个表的信息 - 客户端等待服务器的响应,并立即更新所有内容
- 向服务器发出3个异步请求:
- getUser
- getUserInfo
- getUserProfile
- 无论何时收到任何请求,都会更新UI
有什么想法或经验吗?我认为这里的关键问题是这些API调用是否总是一起进行。如果是,则设置单个端点的连接并执行连接更有意义。但是,如果情况并非如此,则应单独保存 现在,您可以做的当然是使用查询语法,让您指定特定端点是否应提供更多数据,并将其与联接相结合。这确实需要更多的输入,但这可能是值得的,因为这样您就可以最小化请求,并且仍然可以得到一个适应性强的系统
在服务器端,两种方法中的任何一种都不可能明显比另一种慢,除非您一次处理数千行我认为这里的关键问题是这些API调用是否总是一起进行。如果是,则设置单个端点的连接并执行连接更有意义。但是,如果情况并非如此,则应单独保存 现在,您可以做的当然是使用查询语法,让您指定特定端点是否应提供更多数据,并将其与联接相结合。这确实需要更多的输入,但这可能是值得的,因为这样您就可以最小化请求,并且仍然可以得到一个适应性强的系统
在服务器端,这两种方法中的任何一种都不太可能明显比另一种慢,除非你一次处理数千行如果你正在构建一个移动应用程序,那么最好减少http调用次数,因此我建议只进行一次http调用,并在一次GOI中获取数据如果你正在构建一个移动应用程序,那么它的减少http调用的次数总是更好的,所以我建议只进行一次http调用,然后一次性获取数据