您的位置 首页 记录随笔

功放cancel是什么意思中文(功放上的level是什么意思)

功放cancel是什么意思中文(功放上的level是什么意思)

码个蛋第276次推文

功放cancel是什么意思中文(功放上的level是什么意思)

博客:

文章目录

面向前台

面向资源

打上标签

完美服务

对程序员的话

老婆经常喜欢翻看我订阅的技术杂志,她总能从她的视角提出很多有趣的问题。

果不其然,看着看着,她又对我发难了,“Restful是什么呀,老公?是restaurant的形容词吗,突然就觉得好饿了啊……”

作为一个合格的程序员,我一直把能够将一项技术讲给老婆听,并且能给她讲懂,作为我已经掌握了这项技术的标准。

来龙去脉

给她形象的描述一遍。

“走,咱们去楼下咖啡厅吃个下午茶吧”,我对老婆说。

“一个芝士蛋糕,一杯拿铁,两条吸管,谢谢”,我对前台的服务员说,然后我们找了个角落坐了下来。

功放cancel是什么意思中文(功放上的level是什么意思)

面向前台

“刚才我们向前台点了一杯拿铁,这个过程可以用这段文字来描述”,说着,我在纸上写下了这段JSON,虽然她不知道什么叫JSON,但理解这段文字对于英语专业8级的她,实在再简单不过。

“我们通过这段文字,告诉前台,新增一笔订单,订单是一杯拿铁咖啡”,接着,前台给我们返回这么一串回复:

“订单ID?还是订单编号?”

“恩恩,就是订单编号”

“那我们就等着前台喊‘订单123456的客户可以取餐了’,然后就可以开吃了!”

“哈哈,你真聪明,不过,在这之前,假设我们有一张会员卡,我们想查询一下这张会员卡的余额,这时候,要向前台发起另一个询问”,我继续在纸上写着:

“查询卡号为886333的卡的余额?”“真棒!接着,查询的结果返回来了”

“切,没钱……”“哈哈,没钱,现在我们要跟前台说,这杯咖啡不要了”,我在纸上写到:

“哼,这就把订单取消啦?”

面向资源

“面向资源?”

“是的,比如还是下单,请求的内容不变,但是我们多了一条消息”,我在纸上画出这次的模型:

“多了一个斜杠和orders?这是什么意思?”

“Soga…”

“接着还是会返回订单的编号给我们”

“下面,我们还是要查询会员卡余额,这次请求的资源变成了cards”

“接下来是取消订单”“这个我会”,说着,她抢走我手上的笔,在纸上写了起来:

打上标签

“其他种类的请求,比如查询类的,用‘GET’表示,删除类的,用‘DELETE’表示”

“还有修改类的,修改分为两种,第一种,如果这个修改,无论发送多少次,最后一次修改后的资源,总是和第一次修改后的一样,比如将拿铁改为猫屎,那么用‘PUT’表示;第二种,如果这个修改,每次修改都会让这个资源和前一次的不一样,比如是加一杯咖啡,那么这种请求用‘PATCH’或者‘POST’表示”,一口气讲了这么多,发现她有点似懂非懂。

“来,我们再来重复上面那个过程,来一杯拿铁”,我边说边画着:

“请求的内容简洁多啦,不用告诉店员是addOrder,看到POST就知道是新增”,她听的很认真,理解的也很透彻。

“恩恩,返回的内容还是一样”

“接着是查询会员卡余额,这次也简化了很多”

“这个请求我们还可以进一步优化为这样”

“Soga,直接把要查询的卡号写在后面了”“没错,接着,取消订单”

完美服务

“忽然有一天,有个顾客抱怨说,他买了咖啡后,不知道要怎么取消订单,咖啡厅一个店员回了一句,你不会看我们的宣传单吗,上面不写着:

顾客反问道,谁会去看那个啊,店员不服,又说到,你瞎了啊你……据说后面两人吵着吵着还打了起来…”“噗,真是悲剧…”

“但是这次返回时多了些内容”

“哈哈,这服务真是贴心,以后再也不用担心店员和顾客打起来了”

“订单123456的客户可以取餐了”,伴随着咖啡厅的广播,我们吃起了下午茶,一杯拿铁,两支吸管……

对程序员的话

上面讲的Level0~Level3,来自LeonardRichardson提出的

功放cancel是什么意思中文(功放上的level是什么意思)

Level0和Level1最大的区别,就是Level1拥有了Restful的第一个特征——

面向资源

,这对构建可伸缩、分布式的架构是至关重要的。同时,如果把Level0的数据格式换成Xml,那么其实就是SOAP,

,和面向资源的RESTful有很大的不同。

Level0和Level1,其实都很挫,他们都

只是把HTTP当做一个传输的通道,没有把HTTP当做一种传输协议。

Level2,真正将HTTP作为了一种传输协议,最直观的一点就是Level2使用了

HTTP动词

,GET/PUT/POST/DELETE/PATCH….,这些都是HTTP的规范,规范的作用自然是重大的,用户看到一个POST请求,就知道它不是幂等的,使用时要小心,看到PUT,就知道他是幂等的,调用多几次都不会造成问题,当然,这些的前提都是API的设计者和开发者也遵循这一套规范,确保自己提供的PUT接口是幂等的。

Level3的RestfulAPI,给使用者带来了很大的便利,使用者

只需要知道如何获取资源的入口,之后的每个URI都可以通过请求获得,无法获得就说明无法执行那个请求。

现在绝大多数的RESTful接口都做到了Level2的层次,做到Level3的比较少。当然,

这个模型并不是一种规范,只是用来理解Restful的工具

。所以,做到了Level2,也就是面向资源和使用Http动词,就已经很Restful了。

Restful本身也不是一种规范

2、我跟老婆讲的时候,用的数据格式是JSON,但是要强调一点,Restful对数据格式没有限制,就算你用的是XML或者其他格式,只要符合上面提到的几个特征,也算Restful。

我老婆长什么样子?

看来是时候晒一下了:

功放cancel是什么意思中文(功放上的level是什么意思)

我是谁?没错,正是在下:

功放cancel是什么意思中文(功放上的level是什么意思)

用小说的形式讲解Spring(1)——为什么需要依赖注入

用小说的形式讲解Spring(2)——注入方式哪家强

用小说的形式讲解Spring(4)——使用SpringBoot创建NoXml的Web应用

本月,美国总统拜登将在华盛顿举行一次重要论坛,号称“民主峰会”,邀请了110个参与者。

从历史上看,美国只有在符合其利益时,才会支持民主。

功放cancel是什么意思中文(功放上的level是什么意思)

民主是最好的制度,但前提是民主产生的政权必须对美国友好。

功放cancel是什么意思中文(功放上的level是什么意思)

如果把这看成一场“选美比赛”,我们就需要找到更多衡量标准,而不是落在民主和威权二选一的困境中。我们不要去美国的峰会接受那套西方制定的标准,而是要创立自己的峰会,建立全新的人类发展标准——幸福、机会、期望未来,和华盛顿比一比。

翻页为英文原文

免责声明:本文内容来自用户投稿、上传并发布或网络新闻客户端自媒体,本站不拥有所有权,也不意味着赞同其观点或证实其描述,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系删除。文章内容仅供参考,读者据此操作,风险自担。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部