原文链接: 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。。。好吧,你赢了!
- 重要文档
- 工作须知
- 项目下的公共方法
- 程序员给代码写注释时有哪些讲究!
- RestFul 讲解
- 其他知识
- docker容器
- MongoDB的使用
- Node.js的使用
- Session共享
- Wordpress的使用
- Websocket的简介
- Ajax
- 项目技术
- Https配置证书
- Nginx的反向代理
- MySQL读写分离配置(laravel篇)
- Nginx的负载均衡
- App接口返回格式
- laravel中JWT的应用
- laravel验证码的使用
- laravel公共方法文件
- laravel框架的RBAC
- Git相关
- Git篇1
- Git篇2
- Mysql相关
- Mysql的主从复制
- MySQL的备份
- MySQL的使用
- 请求第三方接口
- Redis相关
- redis的使用
- Redis的基本用法以及场景分析
- 开发小技巧
- Linux
- 禁用root及密码登录
- Lnmp环境的安装
- 安装composer
- 安装Redis
- 文件共享服务 samba
- 其他安装
- Lnmp常用命令
- 性能检测命令
- Nginx的配置详解
- PHP相关
- PHP基础知识
- php常见的系统函数
- PHP的设计模式
- Cookie 和 Session 的封装
- Mysql知识
- Mysql索引
- MySQL的数据类型
- PHP重要知识
- PHP框架篇
- Laravel框架
- laravel---Excel
- laravel文件上传
- Laravel-Mysql常用操作
- Laravel队列(queue)
- laravel-发送Email
- laravel--JWT
- TP框架篇
- tp5主从数据库设置读写分离
- 前端
- JS
- js代码实现点击按钮出现60秒倒计时
- 开发软件相关
- 代码编辑器
- vs code配置ftp连接远程服务器实现代码文自动上传
- 编程相关软件下载