通信 / http / 什么是 rest 接口 -ag凯发k8国际
一、答案
一种使用 http 协议的规范,用 url 定位资源,用 http 描述操作 。
本质来讲,就是客户端通过 http 协议,向服务器发送请求,服务器做出响应,通过 http 向客户端返回数据。从理念上讲知道输入,知道输出,但是不清楚内部操作,故称为“接口”。
二、诞生原因
转自:https://blog.csdn.net/weixin_38087538/article/details/82838762
既然用普通的 http 协议即可实现的功能,为什么要称为 rest 接口呢?实际上 rest 接口是在 http 协议基础上,定义了一种适用于当前前后端分离的 http 协议使用规范。没有该规范之前,前后端分离时面临的问题如下:
所以,为了更好的解决这些问题,干脆就定义一套规范,这套规则并没有引入新的东西,无非就是对 http 协议本身的使用做了一些约束,比如说
三、详细说明
转自:https://www.cnblogs.com/sandy-1128/p/rest-sandy-0413.html
知乎大神 ivony 有句话说的好:
url 定位资源,用 http 动词(get、post、delete、put)描述操作。
咱们不解释 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 三端都可以用相同的接口,是不是很爽?!
(saw:game over!)
总结
以上是ag凯发k8国际为你收集整理的通信 / http / 什么是 rest 接口的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: html / img src 使用绝对路