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的主要内容,如果未能解决你的问题,请参考以下文章

上传图片到 Laravel-Lumen API

Laravel:如何通过 API postman 上传图像并将其保存到数据库(phpmyadmin)

C# RestSharp上传图片到Laravel API。

如何在 api laravel 8 中跟踪文件的上传大小

laravel rest api将文件上传到服务器

Laravel Google api 客户端获取刷新令牌并上传文件