【问题标题】:404 Not Found in Yii2 regarding API new module404 Not Found in Yii2 关于 API 新模块
【发布时间】:2017-07-13 18:27:59
【问题描述】:

我正在开发Yii2 project,在其中创建 api 模块,但在调用 api 时遇到问题,其中 got error of page not found.

如何调用我创建的那个 api 控制器。我在 url 下面运行 api 调用。

在此服务器上找不到请求的URL /project/project_name/api/v1/api/login

我必须改变什么或任何configuration required。我在任何地方都缺少一些东西。任何人都有经验或技巧来解决它。

提前致谢。

【问题讨论】:

  • 你是否在 main.php 文件中包含了 api 模块?检查此链接budiirawan.com/setup-restful-api-yii2
  • /project/project_name/api/v1/api/login 不是 URL,它是我认为的文件路径。如果要调用 API,则需要使用正确的 URL。
  • 我做到了。实际上我忘记在 url 中添加 /web 了。感谢 cmets

标签: api url yii2


【解决方案1】:

将以下代码添加到我的 main.php 中解决了 404 not found 问题:

        'urlManager' => [
        'enablePrettyUrl' => true,
        'enableStrictParsing' => false,
        'showScriptName' => false,
        'rules' => [
            [
                'class' => 'yii\rest\UrlRule',
                'controller' => 'user',
            ],
        ],
    ]

我试图将 urlManager 的 enableStrictParsing 设置为 true,但还是一样,然后试试这个,

'enableStrictParsing' => 假,

Ref. Link

【讨论】:

    【解决方案2】:

    可能有两个原因:

    1. 模块未加载。您必须将其添加到您的config/web.php(或者如果该模块可以在命令环境下运行,也添加到config/console.php)下的modules 键。
    2. 您的路由配置不正确。对于修复,您可以将您的 url 作为键和值添加到 config/web.php 上的 UrlManager 模块并尝试浏览。如果它解决了这个问题,您可以为您的网址定义一个模式。

    如果需要任何帮助,请随时对我的回答发表评论。

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 2016-05-23
      相关资源
      最近更新 更多