REST和RPC之间的区别(使用实例)

时间:2017-12-06 02:30:12

标签: rest rpc

我知道这是一个常见的问题,但我读了很多,我觉得有点愚蠢,我看不出真正的差异

此处的示例: https://www.smashingmagazine.com/2016/09/understanding-rest-and-rpc-for-http-apis/

[场景]:从聊天频道踢出用户

RPC (正确的选项,为此使用RPC)

POST /api/channels.kick HTTP/1.1
Host: slack.com
Content-Type: application/json

{
  "token": "xxxx-xxxxxxxxx-xxxx",
  "channel": "C1234567890",
  "user": "U1234567890"
}

REST (糟糕的选择,REST不利于此)

DELETE /channels/catgifs/users/jerkface HTTP/1.1
Host: api.example.com

现在:

1。为什么第一个RPC示例不是REST?它看起来对我来说是一个有效的REST

2。为什么REST替代方案最差?

(文章说因为那时我们需要一个不同的URI来踢,禁止,离开......这有什么问题?使用RPC我们也需要不同的URL ...)

RPC和REST之间的区别仅在于语义或“约定”吗?
使用RPC我们必须在URL上使用动词 使用REST,URL没有动词,只有资源,动词是HTTP方法吗?

0 个答案:

没有答案