【问题标题】:Laravel API: NotFoundHttpException after uploadLaravel API:上传后出现 NotFoundHttpException
【发布时间】: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呢

标签: php laravel api routes


【解决方案1】:

我认为您缺少前缀 api。 请使用route:list 命令列出您的所有路由和路径。

php artisan route:list

【讨论】:

  • 你是否检查控制器中的验证输入,如果有,当验证失败时,Laravel 将重定向到后台页面,如果没有找到该页面将抛出 404。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 2015-08-30
  • 2016-03-20
  • 2017-12-13
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多