如何修复“此路线不支持 GET 方法。支持的方法:POST。'?
Posted
技术标签:
【中文标题】如何修复“此路线不支持 GET 方法。支持的方法:POST。\'?【英文标题】: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? 【参考方案1】:在路由定义中测试之前是否需要“/”?
Route::post('/test', [TestController::class, 'test']);
路由通过使用模式匹配来工作。您确定没有任何路由覆盖或优先于该路由吗?
您是否尝试过清除缓存?
php artisan route:cache
你也可以在 Laravel 中查看活跃的路由
php artisan route:list
【讨论】:
1.我确实尝试删除'/',但结果仍然相同,对于本地和现场.. 本地的好和现场不是。 2. 我刚刚制作了那个 api 来轻松复制我使用登录 api 所体验的内容。 3.每当我实时上传新文件或在本地进行更新时,我总是使用php artisan optimize
清除本地和实时缓存,尽管当我尝试在实时服务器中使用auth:api
中间件执行路由时,响应是Route [login] not defined
,这是否表明它以某种方式建立了连接?
4. local 和 live 都得到相同的输出,除了 Name 列,生成的部分不同。感谢您花时间研究这个主题。以上是关于如何修复“此路线不支持 GET 方法。支持的方法:POST。'?的主要内容,如果未能解决你的问题,请参考以下文章