2 回答
TA贡献1871条经验 获得超8个赞
说到 REST ,现在大多的所谓 REST 风格,没有达到真正 REST 定义的那样,
不过面向实用我们不必拘泥这些概念上的问题,如果有看官觉得觉得实现不够 REST 敬请拍砖,
具体问题我们可以具体讨论。
首先做一下接口的 URL 规划,假设我们要面对的资源是 item ,
现在我们暴露5个接口供其他应用调用,
分别是:
对于所有 item 列表调用: GET /rest/item
对于某个 item 信息调用: GET /rest/item/(\d+)
创建一个 item: POST /rest/item
更新一个 item: PUT /rest/item/(\d+)
删除一个 item: DELETE /rest/item/(\d+)
然后根据规划在主配置里注册路由:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
// REST routers
array('rest/list', 'pattern'=>'rest/item', 'verb'=>'GET'),
array('rest/view', 'pattern'=>'rest/item/', 'verb'=>'GET'),
array('rest/create', 'pattern'=>'rest/item', 'verb'=>'POST'),
array('rest/update', 'pattern'=>'rest/item/', 'verb'=>'PUT'),
array('rest/delete', 'pattern'=>'rest/item/', 'verb'=>'DELETE'),
),
),
这里需要吐槽一下官方文档,路由配置这块基本什么说明都没写,
比如rules数组中的配置数组,里的各种参数含义,
比如verb,利用这个参数就能好好的绑定路由,
不必再到controller里进行判断了。只有api参考里有些关于属性和方法的说明,
主要信息来源还得靠在 Google 中自行寻觅。
然后开始编写 REST 的 Controller,
安装 yii 框架的约定,我们建立 protected/controllers/RestController.php
- 2 回答
- 0 关注
- 1066 浏览
添加回答
举报