我是RESTful API的新成员,希望在服务器的帮助下,为Linux系统下的通用移动应用程序创建该协议。
是否有人有想法或文档来启动移动应用程序的RESTful API协议开发?
请提供或帮助我尽快制定协议。
发布于 2015-02-11 07:16:04
首先,您必须知道RESTfull不是一个协议。这只是一些描述您必须如何实现协议的推荐。
接下来,您必须确保您需要遵守RESTfull规则。在大多数情况下,对于移动应用程序来说,简单的JSON就足够了。
下面是一个简单的例子。假设您想在iOS/Android应用程序中实现聊天。在这种情况下,只需要几种方法:
GET /chat/list # list existing chats
params: {}
GET /chat/134/messages # get messages from chat 134
params: {
page: 0
}
POST /chat/134/send # send message
params: {
text: "Hello everyone!"
}
这只是一个非常简单的API,对于移动应用程序来说就足够了。但是,如果您想遵循RESTfull的概念,您必须实现您的API如下:
GET /chat/ # list existing chats
GET /chat/134/messages/ # get messages from chat 134
POST /chat/134/messages/ # send message to chat
这仍然太清楚了,但在这种情况下,chat
和messages
是不同的实体,在更复杂的应用程序中,您必须添加实体。
例如,如果您想更新聊天的标题,在RESTfull中您必须执行以下操作:
UPDATE /chat/134/
并在HTTP报头中发送新标题。
但是在简单的JSON中,它看起来更容易:
POST /chat/134/changeTitle
params: {
title: "we are talking about cats"
}
好的,这仍然是一个简单的例子,但如果我们想禁止一些用户在聊天,我们应该如何实现它遵循RESTfull范例?它看起来将是:
DELETE /chat/134/users/23/
好吧,我们能做到。但DELETE
方法不是BAN
方法。HTTP协议中没有BAN
方法.因此,我们必须使用DELETE
或扩展HTTP协议的新方法。这么简单的操作,是很复杂的解决方案,不是吗?
但是,对于简单的JSON,我们只需添加新方法:
POST /chat/134/banUser
params: {
userId: 23
}
因此,我建议您在将实现绑定到RESTfull范例之前考虑更多。在大多数情况下,简单的JSON对于移动应用程序来说已经足够了,而且更容易理解和实现。
https://stackoverflow.com/questions/28448178
复制相似问题