关于 laravel 9 提示 Target *classController does not exist

关于 laravel 9 api 提示 Target class [App\\Http\\Controllers\\CaptchasController] does not exist 解决方法
1.打开app\Providers\RouteServiceProvider.php修改如图



class RouteServiceProvider extends ServiceProvider
{
   .
   .
   .
   .
   .
   protected $namespace ='App\\Http\\Controllers';

  public  function boot()
   {

         $this->configureRateLimiting();

         $this->routes(function () {
            Route::middleware('api')
                ->prefix('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
            ->namespace($this->namespace)
            ->group(base_path('routes/web.php'));

        });

    }

}

2.打开app\Providers\RouteServiceProvider.php修改如图

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
//use App\Http\Controllers\Api\CaptchasController;

Route::prefix('v1')
    ->name('api.v1.')
    ->namespace("Api")//添加命名空间
    ->group(function () {
         Route::middleware('throttle:'.
         config('api.rate_limits.sign'))
        ->group(function () {
           // Route::post('captchas', [CaptchasController::class, 'store'])->name('captchas.store'); ---原来的

              Route::post('captchas', 'CaptchasController@store')
              ->name('captchas.store');// 修改成这样即可
     });

           Route::middleware('throttle:' .config('api.rate_limits.access'))

            ->group(function () {

            });
    })
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
陈先生

这不是建议的写法,依然建议在 route 文件内直接声明具体的类。

file

1年前 评论
a512395193 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!