【学习笔记】什么是REST?

【说人话的通俗描述】
媒婆给一个女孩介绍了多个男孩,告诉女孩所有男孩的家在哪里(风景区别墅、普通小区、乡镇),以及可以要求男孩做什么(比如开车去兜风,买花来相亲,带我去看电影等等)。那么女孩在发出要求时,告诉媒婆,选住在哪里的男孩,要他开车去兜风。


【行业术语】
ReST:Representational State Transfer 表现形式状态转换  (这个解释好烧脑)
本质:服务端提供给外部(客户端)去操作任何一个资源的方式(方法)应该是一样的。
URL定位资源位置,用HTTP动作(GET、POST、DELETE、DETC)描述向干什么?URL对应上面例子的家庭地址,HTTP动作对应上面例子的开车去兜风。


RESTful的核心思想是,客户端发出的数据操作指令都是“动词+宾语”的结构,比如,GET /articles这个命令,GET是动词,/articles是宾语。

比如动物园 区域2里面有只编号为10086的老虎,那么用URL定位老虎的位置可以用如下方式:
/animals/10086
/zones/2/animals/10086

【重要知识点】
1、动词通常是五种HTTP方法,对应CRUD操作。根据HTTP规范,动词一律大写。
GET:读取(read)
POST:新建(Create)
PUT:更新(Update)
PATCH:更新(Update),通常是部分更新
DELETE:删除(Delete)


【状态码】
1xx:相关信息    ##API不需要1xx错误,很少碰到
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务器错误

【2xx状态码】
GET:200 ok
POST:201 created
PUT:200 ok
PATHCH:200 ok
DELETE:204 No Content

【3xx状态码】
302和307 表示暂时重定向,主要用于get请求。
303 see other 主要用于POST、PUT、DELETE请求。收到303后,浏览器不会自动跳转,而会让用户自己决定下一步怎么办。

【4xx状态码】4xx表示客户端请求的信息中有错误
400 bad request:服务器不理解客户端的请求,未做任何处理。
401 unauthorized:用户未提供身份证验证凭据,或者没有通过身份验证。
403 forbidden:用户通过身份验证,但是不具备有访问资源所需的权限。
404 not found:所请求的资源不存在,或不可用。
405 method not allowed:用户已经通过身份验证,但是所有的http方法不在他的权限之内。
410 gone:所请求的资源已从这个地址转移,不再可用。
415 unsupported media type:客户端要求的返回格式不支持,比如,API只能返回JSON格式,但是客户端要求返回XML格式。
422 unprocessable Entity:客户端上传的附件无法处理,导致请求失败。
429 too many requests:客户端的请求次数超过限额。

【5xx】状态码
5xx状态码表示服务端错误。一般来说,API不会向用户透露服务器的详细信息,所以只要两个状态码就够了。
500 internal server error:客户端请求有效,服务器处理时发生了意外。
503 service unavailable:服务器无法处理请求,一般用于网站维护状态。


【参考资料】
如何通俗地解释RESTful?https://segmentfault.com/q/1010000006119758?_ea=1030600
RESTful API最佳实践  http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

               
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值