WEB开发中,使用JSON-RPC好还是RESTful API好?

网友解答: RPC (远程过程调用)简单理解即把别人的系统当作自己的系统调用。优点:(1)把别人的系统当作自己的调用(2)一般是长连接,请求访问效率高。缺点:(1)需引用被调用系统的接口

网友解答:

RPC (远程过程调用)简单理解即把别人的系统当作自己的系统调用。

优点:(1)把别人的系统当作自己的调用

(2)一般是长连接,请求访问效率高。

缺点:(1)需引用被调用系统的接口包,调用的外部系统越多,本系统将越来越庞大

(2)编程语言有较大限制,一般只能调用当前语言的RPC。

具体实例:一般为webservice和dubbo

REST简单理解通过HTTP请求访问接口

优点:(1)即插即用,只需按照指定规则,不需要再引用其它的接口包

(2)跨语言,不同的编程语言都可以通过HTTP交互

缺点:(1)HTTP连接,效率较低。

具体实例:一般为HTTP和SpringCloud

Dubbo和SpringCloud的比较

从上图看,各有优缺点,我选择SpringCloud的REST,基于以下原因

网友解答:

JSON-RPC已经是过去式了,不能很好的忙住现在的快熟开发。。。。

而这个RESTFul,其中的REST实际上应该是ReST:Representational State Transfer的缩写的,具体解释起来应该是的:

Representational的意思是表现形式的。

State Transfer的意思是状态转换的。

这个所以RESTful的含义是资源通过状态转换的一种表现形式的。

具体一点说的,资源通过URL来定位,这个资源通过POST,GET,PUT,PATCH,DELETE等方法来操作的,然后完成操作后通过HTTP的状态码2xx/4xx来完成状态的转换的的。

这个其中的GET方法表示获取URL对应的资源的,POST/PUT方法表示新建1条资源的,则PATCH方法表示对URL对应资源的部分内容进行修改,DELETE表示删除URL对应的资源的。

所以因此需要访问RESTful API的场景的:

需要对数据进行灵活管理的Web页面,很好的支持Web开发。

手机客户端的开发的,很好的API。

最好在最佳实践中,应当还应该返回与此操作相关的其他操作的,根据具体需求处理请求方式!!!

标签: