Php 拉威尔护照可以';找不到ApproveAuthorizationController

Php 拉威尔护照可以';找不到ApproveAuthorizationController,php,laravel,oauth,laravel-passport,Php,Laravel,Oauth,Laravel Passport,我正试图通过使用LaravelPassport功能设置一个具有oauth自动化功能的laravel应用程序。我正在使用官方教程()。但是现在,如果我向“/oauth/authorize”发出post请求,则会出现以下错误消息: Class App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController does not exist 我不知道我做错了什么。我使用从“Passport:rou

我正试图通过使用LaravelPassport功能设置一个具有oauth自动化功能的laravel应用程序。我正在使用官方教程()。但是现在,如果我向“/oauth/authorize”发出post请求,则会出现以下错误消息:

Class App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController does not exist
我不知道我做错了什么。我使用从“Passport:routes”获取的路线,没有自定义路线

我已经对composer进行了更新、安装和清除缓存,但没有任何效果

问题产生于此:

/**
 * Register the routes needed for authorization.
 *
 * @return void
 */
public function forAuthorization()
{
    $this->router->group(['middleware' => ['web', 'auth']], function ($router) {
        $router->get('/authorize', [
            'uses' => 'AuthorizationController@authorize',
        ]);

        $router->post('/authorize', [
            'uses' => 'ApproveAuthorizationController@approve',
        ]);

        $router->delete('/authorize', [
            'uses' => 'DenyAuthorizationController@deny',
        ]);
    });
}
我已经尝试过用use语句导入缺少的类,但仍然不起作用


有人能帮我吗?

看起来您在控制器或服务程序的顶部缺少了一条
use
语句。在某些地方,您使用了一个类,但没有首先正确导入它。这就是为什么会看到连接字符串,如:

App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController.
我想你需要的是:

use Passport\Http\Controllers\ApproveAuthorizationController;
或未导入
Passport::routes
中的
Passport
,这是两个中的一个。在
AppServiceProvider
中:

use Laravel\Passport\Passport;

我在代码中找到了问题开始的地方。(我编辑了这个问题)尝试从
bootstrap/cache
中删除
services.php
packages.php
,然后重新运行
composer dumpautoload