未找到 Laravel API 路由
Posted
技术标签:
【中文标题】未找到 Laravel API 路由【英文标题】:Laravel API Route Not Found 【发布时间】:2018-12-27 22:32:52 【问题描述】:我正在尝试测试 API 路由,但我总是得到 404 Not Found
。
我正在使用这个命令:
curl http://localhost:8000/api/veip
这是我的routes/api.php
<?php
use Illuminate\Http\Request;
Route::get('/veip', function ()
return 'Hello World';
);
这是我的php artisan route:list
输出:
+--------+----------+----------+------+---------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+----------+------+---------+------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/veip | | Closure | api |
+--------+----------+----------+------+---------+------------+
所以路线确实存在
我不知道这里发生了什么......
【问题讨论】:
curl 命令中的错字ipve
侯赛因,感谢您的评论,这是问题中的错字。问题还在发生
php artisan route:clear
如果你改变了路线然后再试一次
您能否确认.htaccess
已启用并且正在工作?
你的项目根文件夹有正确的权限吗?试试sudo chmod 755 -R project_root_folder
【参考方案1】:
尝试 php artisan route:clear 可能对你有用
【讨论】:
【参考方案2】:运行sudo a2enmod rewrite
启用.htaccess 文件的mod_rewrite,然后运行sudo service apache2 restart
【讨论】:
【参考方案3】:检查路由中间件https://laravel.com/docs/8.x/routing#route-groups?
Route::middleware('api')->group(function ()
Route::get('testroute', [TestController::class, 'index']);
网址:
http://127.0.0.1:8000/api/testroute
【讨论】:
【参考方案4】:你需要调用 http://my_localhost_link/api/someroute。
【讨论】:
【参考方案5】:我之前也遇到过同样的问题,结果我只需要运行 php artisan optimize
并且我的路线就在那里
【讨论】:
【参考方案6】:您需要使用 php artisan api:routes(artisan 命令)而不是 php artisan route:list 来搜索 Api/routes。
【讨论】:
你能进一步解释一下吗?这些命令是如何解决 404 错误的? 我在尝试获取 route:list 时遇到了相同的错误代码,但我意识到我正在输入另一个命令来获取 Routes。这花了我很多时间。我没有任何错误。 请进一步解释,并将所有解释添加到答案中,而不是评论部分。请记住,OP 应该能够使用您的答案解决问题 我收到There are no commands defined in the "api" namespace.
以上是关于未找到 Laravel API 路由的主要内容,如果未能解决你的问题,请参考以下文章
404 - 未找到存在 Laravel 8 的 Passport Api 路由
Laravel RegisterController 路由未找到