You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移Google Ads API Laravel示例至Jetstream时,遇控制器不存在错误

解决Laravel Jetstream中Target class [GoogleAdsApiController]不存在的问题

问题原因

你的路由使用了Laravel旧版的字符串语法('GoogleAdsApiController@pauseCampaignAction'),但Laravel 8及以上版本默认不再在RouteServiceProvider中设置控制器命名空间前缀,导致框架无法定位到对应的控制器类。

修复方案

方案1:使用类引用的路由写法(推荐)

你已经在路由文件顶部导入了GoogleAdsApiController,直接替换为数组形式的路由写法即可:

// 替换原有的pause-campaign路由
Route::post(
    'pause-campaign',
    [GoogleAdsApiController::class, 'pauseCampaignAction']
);
// 替换原有的show-report路由
Route::match(
    ['get', 'post'],
    'show-report',
    [GoogleAdsApiController::class, 'showReportAction']
);

方案2:恢复控制器命名空间前缀(兼容旧写法)

如果更习惯旧版字符串写法,可以修改app/Providers/RouteServiceProvider.php,在路由组中添加命名空间前缀:

public function boot()
{
    $this->configureRateLimiting();

    $this->routes(function () {
        Route::middleware('web')
            ->namespace('App\Http\Controllers') // 新增此行
            ->group(base_path('routes/web.php'));

        // 保留其他原有路由配置
    });
}

额外验证步骤

  • 确认控制器文件路径正确:app/Http/Controllers/GoogleAdsApiController.php,文件名与类名大小写完全一致(Linux环境下区分大小写)
  • 执行composer dump-autoload命令,更新类自动加载映射

内容的提问来源于stack exchange,提问作者user2286485

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:42:49