RESTful API Linux 中的移动应用程序开发指南

RESTful API development guide for mobile application in Linux

我是 RESTful API 协议的新手,想在 http 服务器的帮助下为 Linux 系统下的通用移动应用程序创建该协议。

有人有想法或文档可以开始 RESTful API 移动应用程序协议开发吗?

请尽快提供或帮助我制定协议

首先,你要知道RESTfull不是一个协议。这只是一些描述您必须如何实施协议的建议。

接下来,您必须确保您需要遵循 RESTfull 规则。在大多数情况下,简单的 JSON-RPC 对于移动应用程序就足够了。

这是一个简单的例子。假设您想在 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

还是太清楚了,但是在这种情况下chatmessages是不同的实体,在更复杂的应用程序中你将不得不添加实体。

例如,如果您想更新聊天标题,在 RESTfull 中您必须执行如下操作:

UPDATE /chat/134/

并在 HTTP-header 中发送新标题。

但在简单的 JSON-RPC 中看起来更简单:

POST /chat/134/changeTitle
params: {
    title: "we are talking about cats"
}

好吧,这仍然是一个简单的例子,但是如果我们想禁止某个用户聊天,我们应该如何遵循RESTfull范式来实现呢?它看起来像:

DELETE /chat/134/users/23/

好的,我们可以做到。但是 DELETE 方法不是 BAN 方法。 HTTP-protocol 中没有 BAN 方法。所以我们必须使用 DELETE 或用新方法扩展 HTTP-protocol 。如此简单的操作却有如此复杂的解决方案,不是吗?

但是对于简单的JSON-RPC,我们可以添加新的方法:

POST /chat/134/banUser
params: {
    userId: 23
}

因此,我建议您在将实现绑定到 RESTfull 范例之前多考虑一下。在大多数情况下,简单的JSON-RPC对于移动应用来说绰绰有余,而且更容易理解和实施。