【问题标题】:How to fix 'The GET method is not supported for this route. Supported methods: POST.'?如何修复“此路线不支持 GET 方法。支持的方法:POST。'?
【发布时间】:2021-02-23 05:58:57
【问题描述】:

我正在使用 Laravel 8 开发一个 REST 服务以在 Flutter Web 上使用它,该 API 在本地使用 xampp 可以正常工作,但不能在主机上运行。

route/api.php

Route::post('/test', [TestController::class, 'test']);

控制器/API/TestController.php

<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;

class TestController extends BaseController
{
    public function test() {
        return $this->sendResponse([], 'Test!');
    }
}

已解决 至少对于我需要的设置,我遵循了这个: https://www.youtube.com/watch?v=X4KElZcUi-g&ab_channel=SimplifiedCoding

【问题讨论】:

  • 好像你的环境不一样。路由是如何在本地注册的,又是如何实时注册的?
  • 我是这方面的初学者,所以请多多包涵,我在本地所做的是将整个 laravel 项目放在 xampp/htdocs 中,并将项目的公共文件夹也移动到 htdocs 中。在直播服务器中,我在public_html外上传了laravel项目,并将项目的public文件夹移到public_html内,并更新了index.php的autoload和bootstrap目录。如果这就是你的意思..
  • 网站内容也在flutter web的public_html中
  • 我应该检查一些配置吗?从 php 版本到安装的 php 扩展,laravel 8 的要求都很好
  • 是否也在实时服务器中运行 XAMPP?

标签: php vps flutter-web laravel-8


【解决方案1】:
  1. 在路由定义中测试之前是否需要“/”? Route::post('/test', [TestController::class, 'test']);

  2. 路由通过使用模式匹配来工作。您确定没有任何路由覆盖或优先于该路由吗?

  3. 您是否尝试过清除缓存?

    php artisan route:cache

  4. 你也可以在 Laravel 中查看活跃的路由

    php artisan route:list

【讨论】:

  • 1.我确实尝试删除'/',但结果仍然相同,对于本地和现场.. 本地的好和现场不是。 2. 我刚刚制作了那个 api 来轻松复制我使用登录 api 所体验的内容。
  • 3.每当我实时上传新文件或在本地进行更新时,我总是使用php artisan optimize 清除本地和实时缓存,尽管当我尝试在实时服务器中使用auth:api 中间件执行路由时,响应是Route [login] not defined,这是否表明它以某种方式建立了连接?
  • 4. local 和 live 都得到相同的输出,除了 Name 列,生成的部分不同。感谢您花时间研究这个主题。
猜你喜欢
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 2020-09-04
  • 2023-03-03
  • 2021-06-11
  • 2019-08-28
  • 2021-04-11
  • 2019-08-31
相关资源
最近更新 更多