我有以下GroupUrlRule:
[
'class' => 'yii\web\GroupUrlRule',
'prefix' => '_api',
'routePrefix' => '',
'rules' => [
'GET /v1/users' => 'v1/user/list',
'GET /v1/users/<id:\w+>' => 'v1/user/view'
]
]
由于某种原因,这不起作用。但是,如果我在主URLManager规则中使用以下内容:
'GET _api/v1/users' => /v1/user/list',
'GET _api/v1/users/<id:\w+>' => 'v1/user/view'
路线有效。我不明白为什么相同的路线不能在GroupUrlRule中工作。如何使路由与GroupUrlRule一起使用?
答案 0 :(得分:1)
在深入研究Yii2 API和源代码之后,我终于找到了问题所在。 GroupUrlRoute在数组键的开头添加前缀,而不测试键的内容。这就是为什么我试图查看UrlRoute中是否有任何可能有帮助的其他参数的原因:
['class' => 'yii\web\GroupUrlRoute',
'prefix' => '_api/v1',
'routePrefix' => 'v1',
'rules' => [
['pattern' => 'users',
'route' => 'user/list',
'verb' => 'GET'
// if you need multiple, you can use array like ['GET', 'POST']
]
]
]