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

亚州云-美国Care云服务器,618大带宽美国Care年付云活动服务器,采用KVM架构,支持3天免费无理由退款!

官方网站:点击访问亚州云活动官网活动方案:地区:美国CERA(联通)CPU:1核(可加)内存:1G(可加)硬盘:40G系统盘+20G数据盘架构:KVM流量:无限制带宽:100Mbps(可加)IPv4:1个价格:¥128/年(年付为4折)购买:直达订购链接测试IP:45.145.7.3Tips:不满意三天无理由退回充值账户!地区:枣庄电信高防防御:100GCPU:8核(可加)内存:4G(可加)硬盘:...

特网云57元,香港云主机 1核 1G 10M宽带1G(防御)

特网云官網特网云服务器在硬件级别上实现云主机之间的完全隔离;采用高端服务器进行部署,同时采用集中的管理与监控,确保业务稳定可靠,搭建纯SSD架构的高性能企业级云服务器,同时采用Intel Haswell CPU、高频DDR4内存、高速Sas3 SSD闪存作为底层硬件配置,分钟级响应速度,特网云采用自带硬防节点,部分节点享免费20G防御,可实现300G防御峰值,有效防御DDoS、CC等恶意攻击,保障...

Asiayun:枣庄电信Asiayun美国Cera葵湾VPSvps月付,美国CERA VPS月付26元/年

亚洲云Asiayun怎么样?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以...

restful api为你推荐
数据库连接怎么链接数据库bft有懂BFT的行家吗?请简单的介绍下lazyloadphpwind中门户模式怎么使用lazyload图片加载?ripper名侦探柯南中JT Ripper 是啥意思?we7神舟电脑装we7系统很慢,装到一半时提示错误怎么回事?wrangleGXG,CK,wrangle,replay哪个牌子档次高?电视蚂蚁电视蚂蚁是不是不能用了?我在国外该怎样看奥运?cs躲猫猫cs1.6捉迷藏模式怎么玩啊安卓模拟器哪个好用PC平台的安卓模拟器哪个最好用横幅广告如何在应用中添加Admob横幅广告
查询域名 openv 踢楼 精品网 私人服务器 美国主机代购 56折 suspended 双12活动 创宇云 lighttpd eq2 cdn加速是什么 域名dns google台湾 服务器是干什么用的 防cc攻击 摩尔庄园注册 腾讯网盘 云服务是什么意思 更多