Restful

https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/82719326

Restful是一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。如果一个架构符合REST原则,就称它为RESTful架构,可以理解为:

 

每一个URI代表一种资源;

客户端和服务器之间,传递这种资源的某种表现层;

客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

 

https://cloud.tencent.com/developer/article/1754521

就是用URL定位资源,用HTTP描述操作。

知乎大神Ivony有句话说的好:

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

咱们不解释REST是哪几个单词的首字母,说了也不知道,翻译成中文就是表现层状态转移,我是弄不懂。

在设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取”或者“删除”或者“更新”这样的操作呢——用请求类型来区分。

比如,我们有一个friends接口,对于“朋友”我们有增删改查四种操作,怎么定义REST接口?

增加一个朋友,uri: generalcode.cn/v1/friends 接口类型:POST

删除一个朋友,uri: generalcode.cn/va/friends 接口类型:DELETE

修改一个朋友,uri: generalcode.cn/va/friends 接口类型:PUT

查找朋友,uri: generalcode.cn/va/friends 接口类型:GET

上面我们定义的四个接口就是符合REST协议的,请注意,这几个接口都没有动词,只有名词friends,都是通过Http请求的接口类型来判断是什么业务操作。

举个反例:generalcode.cn/va/deleteFriends 该接口用来表示删除朋友,这就是不符合REST协议的接口。

一般接口的返回值是JSON或者XML类型的,笔者在互联网的工作经验一般都是JSON类型的。

用HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误,403表示Bad Request等。(反例:传统web开发返回的状态码一律都是200,其实不可取。)

那这种风格的接口有什么好处呢?前后端分离。前端拿到数据只负责展示和渲染,不对数据做任何处理。后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口,是不是很爽?!

 
posted @   ainingxiaoguai  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2020-06-16 coding日记二
点击右上角即可分享
微信分享提示