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仅适用与业务非常简单的场景,比方说,就是为了提供少量数据表单的增删改查。而这种场景实在是太过简单,实际中几乎找不到。

咖啡主机22元/月起,美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月

咖啡主机怎么样?咖啡主机是一家国人主机销售商,成立于2016年8月,之前云服务器网已经多次分享过他家的云服务器产品了,商家主要销售香港、洛杉矶等地的VPS产品,Cera机房 三网直连去程 回程CUVIP优化 本产品并非原生地区本土IP,线路方面都有CN2直连国内,机器比较稳定。咖啡主机目前推出美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月;香港弹性云服务器,香港HKBN CN...

sharktech:老牌高防服务器商,跳楼价,1G独享$70、10G共享$240、10G独享$800

不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...

美国多IP站群VPS商家选择考虑因素和可选商家推荐

如今我们很多朋友做网站都比较多的采用站群模式,但是用站群模式我们很多人都知道要拆分到不同IP段。比如我们会选择不同的服务商,不同的机房,至少和我们每个服务器的IP地址差异化。于是,我们很多朋友会选择美国多IP站群VPS商家的产品。美国站群VPS主机商和我们普通的云服务器、VPS还是有区别的,比如站群服务器的IP分布情况,配置技术难度,以及我们成本是比普通的高,商家选择要靠谱的。我们在选择美国多IP...

restful api为你推荐
excel通配符谁能详细解释一下EXCEL里通配符及符号的意义?逗号运算符C语言 逗号运算符 是几元操作符?谢谢html源代码求html代码微店是什么微店和淘宝网店有啥区别?visa信用卡卡号信用卡卡号是多少位数地印度it印度IT真的很强?免杀远控求一款好使(免杀)远程控制软件?比特币官方客户端比特币钱包官方客户端地址是什么?没有nvidia控制面板没有nvidia控制面板有什么用眼镜片品牌镜片哪个牌子好,十大光学镜片品牌排名推荐
沈阳虚拟主机 科迈动态域名 东莞电信局 themeforest wordpress技巧 免费博客空间 北京主机 股票老左 泉州移动 空间合租 申请网页 支持外链的相册 厦门电信 腾讯总部在哪 后门 ssl加速 创速 锐速 腾讯云平台 湖南铁通 更多