🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
原文链接: https://mp.weixin.qq.com/s/63sOcLwMYzuMFRWUe60PjQ ## RestFul 简介 > ❝ > > RestFul (REpresentational State Transfer)风格目标:用来规范资源解释方式 与操作规则。 > > ❞ ## 传统 URL 资源定义弊端 * 通过的 URL 没有统一的规范,将动词与名字合并,且很难通过 URL 资源定向标记,了解具体的业务意义 * 当不规范的 URL 随着在大型的项目中带来的问题是难以管理与维护 * 每个人对资源规则有独特的理解,那么真正的标准是什么,众多的规范,识别度底,最终干脆随心所欲,随后资源标签就腐化了 ## RestFul 作用 * 每一个 URI 代表一种资源 * 通过统一的标准风格规范来约束资源的表达方式,它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用 * 过四个 HTTP 动词,对服务器端资源进行操作,实现"表现层状态转化" ## RestFul 案例 对项目成员的操作方式。![](https://img.kancloud.cn/10/0c/100c32c1bbedeb94ce72ee7681b7e40b_623x552.png) ## Result 路径规则 通过资源的路径规则,清晰的表明资源与资源的层级关系,如下: `/order/{orderid}`:指定订单详情 `/order/{orderid}/products`:指定订单关联的商品 `/order/{orderid}/products/{id}`: 指定订单下的指定商品 **「备注」**:资源定位中尽量使用名词,因为动作已在Method中描述了。 ## RestFul 协议格式 **「协议格式」**:Method +空格+URL(资源定向)\[?过滤条件\]+协议版本+操作符 ### 资源动作 Method(资源操作行为,改变资源的状态)。 GET :请求服务器特定资源。 POST :服务器创建一个新资源。 PUT :更新服务器资源客(整个资源)。 DELETE :服务器删除特定资源。 PATCH :更新服务器上的资源(资源的部分)。 ### 动作与资源配合举例 GET /order/{orderid} :获取指定订单详情 **「Resource Representational State Transfe 解释」** * 资源(Resource) :服务端的具体资源,而每一种具体的资源有独有的URI。 * 表现形式(Representational):"资源"多种展示形式。如 json,xml,image,txt。 * 状态转移(State Transfer):通过Method实现服务器端资源的状态改变。 通过以上内容,如果你还不懂 RestFul。。。好吧,你赢了!