程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口

程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口翻译成中文是表现层状态转移,估计没几个人看懂这个中文的意思。要理解他的意思,可能要从远古的互联网谈起。

大家好,欢迎来到IT知识分享网。

在我们前后端交互过程中,我们经常提到一个英文单词RESTful,那么什么是RESTful接口呢?

REST,全称Resource Representational State Transfer,翻译成中文是表现层状态转移,估计没几个人看懂这个中文的意思。要理解他的意思,可能要从远古的互联网谈起,上了年纪的程序员应该知道,一开始的网页是真个网页无论样式或者数据都是从后端吐出的,随着互联网的发展,客户端越来越多,所以我们需要前后分离,才能一个后台系统服务多个不同客户端,而这个REST,正是用来解决这一种情况。所以,通俗易懂地讲,REST是中文意思可以理解为资源在网络中以某种表现形式地转移。

程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口

REST是由美国人伦纳德·理查德森提出来一套软件接口设计的模型,今天我们就以最通俗易懂的方法,来解释下什么是REST风格接口。

程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口

Level0 混沌模式

这个模式就好比我们在餐厅吃饭,见到个工作人员,就跟他说,加一份炸鸡,对方会跟你打一张单过来。翻译成程序语言,就是新增一个接口。

{ "addOrder":{ "itemName":"addFriedChicken", } } 

同样,现在很多仓听都会有会员卡服务,我们可以随便找一个服务人员,问他你的会员卡积分余额是多少。同样,我们翻译成程序的接口,如下所示。

{ { "queryVipCard":"{cardid}" } } 

Level1 指定资源

在上述例子中,我们每次都是随便找一个服务员,也就是当我们访问一个网站的时候,只约定了地址、端口跟IP,每次都请求同一个地址,后端再来判断是要访问哪一个资源。

随着饭店的发展,老板可能会对服务人员进行分工,像一些大型的餐厅,有人负责打扫卫生,有人负责结账等等。

所以,你想点菜的时候,必须指定点菜的服务生,想查询会员的时候,必须去前台找对应的前台服务员,想反馈的时候,要找大堂经理等等。

同样,翻译成程序语言,会变成这样。

/order { "addOrder":{ "itemName":"addFriedChicken", } } 

相对于上面的例子,这里虽然只是增加一个反斜杠,但意义却不一样了,增加了具体的资源指定。

程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口

Level2 指定方法

相对于Level1,Level2则更为严格,要求你带上指定的方法,在Http请求中,我们常用的有Get,Post等方法,所以,我们去查询会员卡余额的时候,只要让前台知道你是个Get请求即可,就知道你要查询会员卡。

/card Method=Get { { ${会员卡号} } } 

Level3 返回链接

我们可能还想把整个请求变得更加简洁,例如在上述例子中,我们还需要去传递一个会员卡号,我们能不能把会员卡号这个东西也去掉呢?答案是可以的,那便是用户一进店的时候,便把所有的操作的链接都返回给用户,用户想进行什么操作就点击什么链接

程序员天天用却不懂得冷知识,这两句口诀,让你理解RESTful接口

总结

其实,在线上前端开发与后台开发的交互过程中,更多的是采用Level2的形式。可能上述的描述还比较难以理解,那么传授给你2句口诀,保证立马理解RESTful的含义,那便是:看Url就知道要什么,看http method就知道干什么!

好了,今天关于REST我们就介绍欢迎大家关注我,近期还准备了一些AI相关的知识,整理后会和大家继续分享。大家的支持是我继续唠嗑的动力。同名公众号(沙茶敏碎碎念)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/49580.html

(0)

相关推荐

发表回复

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

关注微信