【发布时间】:2015-02-09 12:16:05
【问题描述】:
我正在开发 YII (1.x) REST API。我想按照以下格式更新网址
GET api/user => Should return list of User
GET api/user/$id => Should return one USER with provided ID
DELETE api/user/$id => Should delete respective user
我在主配置文件中添加了以下代码
array('api/list', 'pattern' => 'api/<model:\w+>', 'verb' => 'GET'),
array('api/view', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'GET'),
array('api/update', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'PUT'),
array('api/delete', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'DELETE'),
它没有按预期工作,要访问代码,我必须提供以下格式的 URL
http://myServer/index.php/api/user/view/model/user/id/$USERID
以上网址返回$_GET值array("id"=>$USERID);
如果我使用以下 URL,(我想使用)
http://myServer/index.php/api/user/$USERID
它返回 $_GET 值作为 NULL 或有时作为 array($USERID => NULL);
请告诉我相同的解决方案。
【问题讨论】:
-
看起来很奇怪,我在一个正在运行的项目中有一个非常相似的方法。现在我正在尝试将其添加到具有相同规则的另一个项目中,并且看起来它不起作用。
-
@AlexandruTrandafirCatalin 似乎新版本的 YII (1.x) 有一些问题。好吧,如果您找到任何解决方案,请更新我。
-
好的,我稍后会研究它,它确实存在使其工作的方法。