(笔记)使用扩展的CI框架实现RESTful框架
来源:互联网 发布:香港速成输入法 mac 编辑:程序博客网 时间:2024/06/08 10:57
REST(表现层状态转化)是一种原则,而符合这种原则的架构就称之为RESTful架构。
表现:
通过 get /library/1/book/2 这种风格的URI来访问控制器并传递参数
其中get是不出现在URI中的,而是一种操作方式(get、post、delete、put),控制器通过判断请求的方式,来决定调用的方法
所以 get /book/1 和 post /book/1 ,虽然访问的URL完全一样,但是根据请求方式的不同,实际上调用的是控制器内不同的方法
实现:
使用 REST_Controller 扩展 CI_Controller
通过路由重写,可以使用非正常格式的 URL 访问对应的对象方法
通过 REST_Controller 判断请求的类型,并将URL中的参数交给相应的控制器处理
如果通过 GET 发送请求到URL www.test.com/index.php/user/1,
那么会自动调用 User 控制器中的 index_get($id) 方法,并将参数 1 传递给 $id
如果通过 GET 发送请求到URL www.test.com/index.php/user/book/name/foo/id/1
那么会自动调用 User 控制器中的 login_get() 方法,通过 $this->get('name') 和 $this->get('id') 来分别获取到参数 foo 和 1
如果通过 POST 发送请求到URL www.test.com/index.php/user/login
那么会自动调用 User 控制器的 login_post() 方法,通过形如 $this->post('name') 分别获取对应的参数
PUT\DELETE 同理
返回数据:
控制器中相应的函数经过一系列处理后,需要返回包含足够信息的json格式字符串(根据具体需求)
通过形如下面的方法返回json格式的字符串:
表现:
通过 get /library/1/book/2 这种风格的URI来访问控制器并传递参数
其中get是不出现在URI中的,而是一种操作方式(get、post、delete、put),控制器通过判断请求的方式,来决定调用的方法
所以 get /book/1 和 post /book/1 ,虽然访问的URL完全一样,但是根据请求方式的不同,实际上调用的是控制器内不同的方法
实现:
使用 REST_Controller 扩展 CI_Controller
通过路由重写,可以使用非正常格式的 URL 访问对应的对象方法
通过 REST_Controller 判断请求的类型,并将URL中的参数交给相应的控制器处理
如果通过 GET 发送请求到URL www.test.com/index.php/user/1,
那么会自动调用 User 控制器中的 index_get($id) 方法,并将参数 1 传递给 $id
如果通过 GET 发送请求到URL www.test.com/index.php/user/book/name/foo/id/1
那么会自动调用 User 控制器中的 login_get() 方法,通过 $this->get('name') 和 $this->get('id') 来分别获取到参数 foo 和 1
如果通过 POST 发送请求到URL www.test.com/index.php/user/login
那么会自动调用 User 控制器的 login_post() 方法,通过形如 $this->post('name') 分别获取对应的参数
PUT\DELETE 同理
返回数据:
控制器中相应的函数经过一系列处理后,需要返回包含足够信息的json格式字符串(根据具体需求)
通过形如下面的方法返回json格式的字符串:
$data = ['name'=>'','age'=>''];$this->response($data);
codeigniter-restserver项目地址:https://github.com/chriskacerguis/codeigniter-restserver
阅读全文
0 0
- (笔记)使用扩展的CI框架实现RESTful框架
- restful+ci框架 实践
- 使用CI框架搭建restful接口
- CI框架的一些笔记
- 【ci框架】扩展系统的核心类
- 使用Spring框架实现RESTful
- 【ci框架】ci框架查询中join的使用
- ci框架学习笔记
- CI框架学习笔记
- CI框架源码阅读笔记6 扩展钩子 Hook.php
- CI框架源码阅读笔记6 扩展钩子 Hook.php
- CI框架源码阅读笔记6 扩展钩子 Hook.php
- CI框架源码阅读笔记6 扩展钩子 Hook.php
- 【ci框架】源代码解读:利用Hook.php文件完成ci框架功能的扩展
- ci框架hooks使用
- CI框架SESSION使用
- 【ci框架】谈CI框架的安全性
- CI框架缓存的实现原理
- NYOJ:36-最长公共子序列
- NYOJ:39-水仙花数
- jQuery中利用递归思想练习自定义动画
- 函数Or功能
- NYOJ:40-公约数和公倍数
- (笔记)使用扩展的CI框架实现RESTful框架
- 单片机面试
- NYOJ:41-三个数从小到大排序
- 图片上传实时预览效果
- (bzoj 3688 折线统计)<DP>
- NYOJ:44-子串和
- 文件异步上传
- NYOJ:46-最少乘法次数
- 从高考到码农,毕业了