要理解资源路由就要理解什么是RESTful
。如果一个架构符合REST(即Representational State Transfer的缩写,意为表现层状态转化)原则,就称它为RESTful架构。
REST提出了一些设计概念和准则:
1、网络上的所有事物都被抽象为资源(resource);
2、每个资源对应一个唯一的资源标识(resource identifier);
3、通过通用的连接器接口(generic connector interface)对资源进行操作;
4、对资源的各种操作不会改变资源标识;
5、所有的操作都是无状态的(stateless)。
需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。
传统的请求模式和REST模式的请求模式区别:
作用 | 传统模式 | REST模式 |
---|---|---|
列举出所有的用户 | GET /users/list | GET /users |
列出ID为1的用户信息 | GET /users/show/id/1 | GET /users/1 |
插入一个新的用户 | POST /users/add | POST /users |
更新ID为1的用户信息 | POST /users/mdy/id/1 | PUT /users/1 |
删除ID为1的用户 | POST /users/delete/id/1 | DELETE /users/1 |
但是你会看到,这些操作方法本身并不会进行请求类型的判断,这些是需要配合路由规则来完成的,也就是说我们需要给Blog
控制器添加RESTful
的路由访问规则,看起来像下面一样:
请求类型 | 路由规则 | 对应操作方法 | 描述 |
---|---|---|---|
GET | blogs |
index/Blog/index | 显示博客列表 |
GET | blogs/create |
index/Blog/create | 新增博客页面 |
POST | blogs |
index/Blog/save | 保存博客内容 |
GET | blogs/:id |
index/Blog/read | 查看博客内容 |
GET | blogs/:id/edit |
index/Blog/edit | 编辑博客页面 |
PUT | blogs/:id |
index/Blog/update | 更新博客内容 |
DELETE | blogs/:id |
index/Blog/delete | 删除博客 |
这里使用了复数方式的
blogs
,这是RESTful
的一种建议规范。
说下自己的理解
REST是一种设计风格,通常用于HTTP的各种请求,就是一种路由的模式,如上图的GET POST PUT DELETE
因为是一种路由规则 所以TP5和LA5都支持 在进行接口请求操作的时候 可使用此类请求方法 对应的服务器端写好方法即可