Laravel:使用Passport Oauth令牌注册和登录(反射异常:控制器不存在)



所以我正在尝试使用Laravel Api护照,但出现此错误。

反射异常:

Class AppHttpControllersApiAuthController does not exist

每当我尝试输入以下命令时:"php artisan route:list"

我的

路由代码放在我的 API 中.php

Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/register','ApiAuthController@register');

我想错误位于 api 中.php但我不知道它在哪里。

这是身份验证控制器.php代码

<?php
namespace AppHttpControllersApi;
use AppHttpControllersController;
use AppUser;
use GuzzleHttpClient;
use IlluminateHttpRequest;
class AuthController extends Controller
{
   public function register(Request $request){
    $validatedData = $request->validate([
        'email'=>'required',
        'name'=>'required',
        'password'=>'required'
    ]);
    $user = new User();
    $user->name = $request->name;
    $user->email = $request->email;
    $user->password = bcrypt($request->password);
    $user->save();
    $http = new Client;
    $response = $http->post(url('oauth/token'), [
        'form_params' => [
            'grant_type' => 'password',
            'client_id' => '2',
            'client_secret' => 'C0aJVstKoiTxx1HrCQEwBOYNKYHhMCGN9w6NUz57',
            'username' => $request->email,
            'password' => $request->password,
            'scope' => '',
        ],
    ]);
    return response(['data'=>json_decode((string) $response->getBody(), true)]);
}
public function login(){
}
}

我在YouTube上遵循本教程:https://www.youtube.com/watch?v=fiVA2Oko23o

这是我的第二部分,我已经完成了教程中解释的所有内容,但我想我的代码似乎有问题。

我太新手了,我发现问题出在 api 中.php

身份验证应放在 API 之前

Route::post('/register','AuthApiAuthController@register');

我猜你忘了放'\'。你应该试试这个。

Route::post('/register','ApiAuthController@register');

Laravel路由始终将控制器类定位在命名空间Controller

你应该通过以下方式调用操作

http://{your_domain}/api/register

最新更新