rest - Yii2 未找到嵌套休息规则
问题描述
我似乎在使用tunecino\nestedrest\UrlRule
包时遇到问题。我正在使用基本的 Yii2 应用程序,并且正在尝试将 api 创建为模块。
我当前的 urlManager 如下所示:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'rules' => require(__DIR__ . '/routes.php'),
'enablePrettyUrl' => true,
'baseUrl' => $baseUrl,
'showScriptName' => false,
'enableStrictParsing' => true,
],
我的路线如下所示:
return [
'' => '/',
'v1' => 'v1/',
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/game','v1/server']
]
[
'class' => 'tunecino\nestedrest\UrlRule',
'resourceName' => 'game',
'modulePrefix' => 'v1',
'modelClass' => 'app\modules\v1\models\Game',
'relations' => ['servers']
],
[
'class' => 'tunecino\nestedrest\UrlRule',
'resourceName' => 'server',
'modulePrefix' => 'v1',
'modelClass' => 'app\modules\v1\models\Server',
'relations' => ['game']
],
]
The:$baseUrl
总是包含:$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
该 api 是路径v1
下的一个模块。serverlist-api/modules/v1
有所有的模型,控制器等。
尽管如此,我似乎总是在使用以下方式访问网站时收到 404:http://localhost/serverlist-api/v1/servers/
有谁知道问题的原因可能是什么?
//编辑。发现扩展应该与基本的 UrlRules 一起工作,但是如果我添加它们,请求仍然会抛出 404。
解决方案
推荐阅读
- mysql - mysql如何查看不同列中具有相同数字的行
- mobile - Flutter 应用本地化方法
- jenkins - Jenkinsfile 管道构造 JSON 对象并写入文件
- python - 动态迭代循环
- angular6 - 如何使用带有预渲染的 loopback3 服务器优化 angular6?
- python - 故障转移选项在 mysql.connector 中引发错误
- modal-dialog - Materializecss Modal on page load未打开模态
- report - 打印 odoo 10 的 xls 报告时出错
- c# - Azure 应用服务视图尚未预编译错误
- windows - az deployment 不适用于 template-uri 的 SAS 令牌