我使用yii为REST API构建定义了以下url模式。
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
array('api/default/list', 'pattern'=>'api/<model:\w+>', 'verb'=>'GET'),
array('api/default/view', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'GET'),
array('api/default/update', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'PUT'),
array('api/default/delete', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'DELETE'),
array('api/default/create', 'pattern'=>'api/<model:\w+>', 'verb'=>'POST'),
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
我现在正在尝试的是,
http://example.com/RestApi/index.php/的 API /后偏移= 5&安培;限制= 10
以上工作,但以下不起作用。
http://example.com/RestApi/index.php/的 API /后/偏移/ 5 /限制/ 10
我怎样才能让它像第二种方式一样工作?需要对Url Manager进行哪些更改?
由于
更新
我得到的错误是第二种方式,
无法解决请求“api / post / offset / 5 / limit / 10”。
答案 0 :(得分:1)
你可以试试这个:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
array('api/default/view', 'pattern'=>'api/<model:\w+>/<id:\d+>/*', 'verb'=>'GET'),
array('api/default/list', 'pattern'=>'api/<model:\w+>/*', 'verb'=>'GET'),
.............
),
),
我移动api/default/view
规则以避免覆盖其他规则。