restful apiWEB开发中,使用JSON-RPC好,还是RESTful API好

restful api  时间:2022-02-28  阅读:()

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

JSON-RPC比RESTful API好很多。 ====== 我厌恶restful API如同我厌恶OOP;但与其说我厌恶restful,倒不如说我厌恶鼓吹restful API的一些伪·程序员。 很多鼓吹restful API的程序员,实际上并不理解restful的设计理念,纯粹是在人言亦言,随便看了几篇网文在说restful,自己便也更着鼓吹。 做为一个合格的技术人员,最基础的要求是要对自己所使用的技术有了解,明白各种技术的适用场景,然后因地制宜。 restful首先是要求必须把所有的应用定义成为“resource”,然后只能针对资源做有限的四种操作。 这是对API一个非常糟糕的抽象,有太多现实中需要的API,无法顺当的融入到restful所定义的规范中。 比方说,user login / resetpassword等等。 restful的信徒,他们会说可以根据这个那个规范,把login / password等也纳入为某种资源,然后进行增删改查。这在我看来,纯粹是在解决一些原本不存在,根本不需要解决的问题,纯浪费。 所有的接口,服务器端原本就存在有相应的函数,它们本来就有自身的命名空间,接受的参数、返回值、异常等等。 采用轻便的方式暴露出来即可。 无需把一堆函数重新归纳到“资源”,再削减脑袋把所有的操作都映射为“增删改查”。 对应到web上,rpc的成熟方案非常多,有古老的soap,也有轻量的json rpc。 JSON rpc基本上仅是要求所有的请求必须有msg id,有函数名,然后可定义参数,并且区分返回值与异常;也可定义『命名空间』来对函数模块做划分。 这与大多数语言的模块、函数定义相符,使用起来是非常便利的。 很多json rpc是供web前端ajax调用,若前端调用抽象得当,调用远程API,实际上与调用本地函数无甚区别。 实际上,json rpc也未必需要跟http绑定,即便是在web上,它也可以走web socket,这样子,前端可以使用同一web socket管道批量发送请求,而服务器端乱序返回结果时,前端也可以根据msg id做准确的回调。 websocket,批量调用,乱序返回,这些都可以显著提高API的输出吞吐,这些是在json rpc的设计考量内。 调用更方便,性能也更好,两全其美是完全可能的。 想当然的为了“快”,为了“简单”就必须牺牲别的,这是严重的思维误区。 有些方案,纯粹就是糟糕的方案。 restful API仅适用与业务非常简单的场景,比方说,就是为了提供少量数据表单的增删改查。而这种场景实在是太过简单,实际中几乎找不到。

AkkoCloud(60元/月 ),英国伦敦CN2 1核 768 MB 内存 10 GB SSD 硬盘 600GB 流量 英国伦敦CN2 1核  1.5G  300Mbps

官方网站:https://www.akkocloud.com/AkkoCloud新品英国伦敦CN2 GIA已上线三网回程CN2 GIA 国内速度优秀.电信去程CN2 GIALooking Glass:http://lonlg.akkocloud.com/Speedtest:http://lonlg.akkocloud.com/speedtest/新品上线刚好碰上国庆节 特此放上国庆专属九折循环优惠...

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

PIGYun月付14.4元起,美国洛杉矶/韩国VPS七月6折

PIGYun是成立于2019年的国人商家,提供香港、韩国和美西CUVIP-9929等机房线路基于KVM架构的VPS主机,本月商家针对韩国首尔、美国洛杉矶CUVIP-AS29、GIA回程带防御等多条线路VPS提供6-8.5折优惠码,优惠后韩国首尔CN2混合BGP特惠型/美国洛杉矶GIA回程带10Gbps攻击防御VPS主机最低每月14.4元起。下面列出几款不同机房VPS主机配置信息,请留意不同优惠码。...

restful api为你推荐
图像识别算法我想学习关于图像识别算法,但是讲到的数学知识我不太懂,希望大神们可以告诉我该怎么办。笛卡尔乘积笛卡尔乘积是啥定义笛卡尔乘积离散数学的集合问题。。 第一个笛卡尔的乘积:A={1,2},B={a,b},那么AXB^2是什么sap是什么足疗,sap,指压都是什么apple以旧换新苹果以旧换新怎么换最好的视频播放器最好的视频播放器有哪些?蓝牙开发开发者选项里的蓝牙设置如何设置最好?rs485协议HART modbus profibus 这三种协议有什么区别?这几种协议都是干什么用的?阶乘函数用函数求阶乘的C语言visa信用卡卡号信用卡卡号是多少位数地
.cn域名注册 网通服务器租用 购买域名和空间 主机测评网 cve-2014-6271 淘宝双十一2018 lamp配置 777te 中国智能物流骨干网 vip购优汇 免费防火墙 傲盾官网 双线机房 360云服务 英国伦敦 腾讯网盘 云服务是什么意思 脚本大全 japanese50m咸熟 ncp是什么 更多