前言
我爸出去玩了我一个人在家房贷即将来临,从小情商就不高的我过得很累,为啥很多人没有成功,就是因为我们都有拖延症,然后想着想着就忘了。。。人可能就是这种动物,为了面试,为了更好的薪资,加油,昨天看了restful的接口
正文
restful在我看来就是一种规范 有一个特别雅致的名字“表现层状态改变” 其实就是一个url想当于一个资源 根据http的方法动词比如get,put,post,delete。其实还有pah 当时在埃森哲的二面上技术官问我是牛逼的。昨天感觉记得很混轮感觉重点 就是这个。
补充
每种资源对应一个特定的URI。“资源"是一种信息实体,它可以有多种外在表现形式。我们把"资源"具体呈现出来的形式,叫做它的"表现层”(Representation)。客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
GET (SELECT):从服务器检索特定资源,或资源列表。
POST (CREATE):在服务器上创建一个新的资源。
PUT (UPDATE):更新服务器上的资源,提供整个资源。
PATCH (UPDATE):更新服务器上的资源,仅提供更改的属性。
DELETE (DELETE):从服务器删除资源。
因为put/patch只能算作一类,所以将patch归为半个。
restful接口规范
1、动作
2、路径(接口命名)
3、版本(Versioning) 将版本信息放入 url
另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。
4、过滤信息(Filtering)包括分页信息一些
5.状态码
200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT - [DELETE]:用户删除数据成功。
400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
401 Unauthorized - []:表示用户没有权限(令牌、用户名、密码错误)。
**403 Forbidden - [] 表示用户得到授权(与401错误相对),但是访问是被禁止的。**
404 NOT FOUND - []:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
500 INTERNAL SERVER ERROR - []:服务器发生错误,用户将无法判断发出的请求是否成功。
502 网关错误
503 Service Unavailable
504 网关超时