我需要你的帮助。 我考虑为移动应用程序设计后端API。 它应该是REST还是其他东西?
例如,假设我们创建了一些社交网络应用程序。有一页。 该页面包含:
我看到了这个选项:
为所有4个域创建端点并调用4个请求:
GET /users/111?fields=id,name,email
GET /users/111/messages?fields=id,text,date_created
GET /users/111/guests/count
GET /users/111/posts/count?filter=news
创建一种方法,通过一个请求获取所有这些信息
GET /GetUserProfileInfo?userId=111
其他选项
感谢。
答案 0 :(得分:0)
您提出的问题相当广泛,但希望这可以让您朝着正确的方向前进。
我会使用RESTful界面,我有经验从移动应用程序连接到REST和SOAP API,而且REST肯定更容易。
首先谈到端点我认为你可能想重新考虑第一选择。例如,如果消息是单独的资源,您可能希望使用/消息,后跟搜索参数,如/messages?user=111
。但这实际上取决于您试图代表的资源。
对于第二个选项,我会使用动词,您只能根据用户创建一个userprofile。并且由于它以相同的方式为每个用户组合用户的各个方面,因此它不仅仅是查询或一组查询。我会选择像/user/111/profile
这样的东西。
就性能而言,让后端(可能是数据库)为用户配置文件获取所有数据并使用一个请求检索它可能更好。在您使用单独请求检索所有位的情况下,您会遇到额外HTTP请求的开销。
这些决策中的大多数确实取决于API的要求。另外,this question/answer给出了非常详细的解释,也可能对你有帮助。