Laravel使用fetch API时出现控制器不存在的错误。

3
Route::get('/biller- 
info','MyDomain\Http\Controllers\BillPaymentController@getBillerInfo');

所有其他 API 的路由都是通过这种方式创建的。

出现异常:目标类 [Mydomain\Http\Controllers\BillPaymentController] 不存在。

已安装 GuzzleHttp。

路由 - 127.0.0.1/biller-info

路径 - api > packages > mydomain-shop > src > Http > Controllers > BillPaymentController.php

BillPaymentController.php

 <?php

 namespace MyDomain\Http\Controllers;

  use Exception;
  use Illuminate\Http\Request;
  use MyDomain\Enums\Permission;
  use Illuminate\Support\Facades\Schema;
  use Illuminate\Database\Schema\Blueprint;
  use MyDomain\Exceptions\MyDomainException;
  use Illuminate\Database\Migrations\Migration;
  use Illuminate\Support\Facades\Http;


  class BillPaymentController extends CoreController

    {

      public function getBillerInfo()

      {
       $response = Http::get('https://reqres.in/api/products/3');
       dd($response->collect());
      }

     }

文件位于哪里?通常命名空间为 App\Http\Controllers - Gert B.
路径 - api > packages > mydomain-shop > src > http > controller > BillPaymentController.php......所有其他控制器都使用相同的命名空间。 - aman
请注意,文件夹名称区分大小写,并且必须与命名空间匹配:Http Controllers - Gert B.
双重检查,没有问题。 - aman
尝试在您的 app\Providers\RouteServiceProvider.php 文件中查找类似以下内容的代码:protected $namespace = 'App\\Http\\Controllers';确保它没有被注释掉,并尝试将命名空间值更改为您的 Controllers 的根位置。 - Babalola Macaulay
仍然无法工作......所有其他控制器都使用了该命名空间,它们都正常工作。 - aman
1个回答

0

加载配置文件并清除缓存解决了问题!

          composer dump-autoload
          php artisan route:clear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接