Laravel API:上传后出现 NotFoundHttpException
Posted
技术标签:
【中文标题】Laravel API:上传后出现 NotFoundHttpException【英文标题】:Laravel API: NotFoundHttpException after upload 【发布时间】:2020-01-26 11:28:52 【问题描述】:我最终完成了基于 Laravel 的 REST API。 将 API 上传到共享虚拟主机后,我每次都得到 来自 RouteCollection 的 NotFoundHttpException 错误。
公用文件夹工作正常且显示正常。但是一旦我尝试 使用邮递员的 API 我得到以下错误:
"message": "",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/var/www/vhosts/cloud1.openhandwerk.de/httpdocs/API_oH/Connector/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
"line": 179,
"trace": [
现在当我通过浏览器访问该页面时,我只会收到 404 错误。
我的 api.php 文件
<?php
use Illuminate\Http\Request;
Route::prefix("v1")->group(function()
Route::post('login', 'Api\v1\UserController@login');
Route::post('register', 'Api\v1\UserController@register');
Route::group(['middleware' => 'auth:api'], function()
// Customers
Route::get("customers", 'Api\v1\CustomerController@index');
// Route::get("customer/id", "API/v1/CustomerController@show");
// Route::post("customer", "API/v1/CustomerController@store");
// Route::put("customers", "API/v1/CustomerController@store");
// Route::delete("customers", "API/v1/CustomerController@destroy");
);
);
【问题讨论】:
你怎么称呼路线?? @zahidhasanemon 你是什么意思?它来自命名空间..顺便说一句,它在本地工作,就在我将它上传到共享主机时,它会出错 我的意思是你是如何访问网址的?/api/v1/customers
??
@zahidhasanemon 嘿抱歉,我发现错误取决于您推测的 URL。在我的本地机器上,我有一个 virtualHost 作为域设置。所以我通过 api.test/v1/customers 访问 API...但在服务器上它在子目录中
那么如果api是这样的domain.com/folder/api/,我怎么能在linux服务器上使用api呢
【参考方案1】:
我认为您缺少前缀 api
。
请使用route:list
命令列出您的所有路由和路径。
php artisan route:list
【讨论】:
你是否检查控制器中的验证输入,如果有,当验证失败时,Laravel 将重定向到后台页面,如果没有找到该页面将抛出 404。以上是关于Laravel API:上传后出现 NotFoundHttpException的主要内容,如果未能解决你的问题,请参考以下文章