【问题标题】:Error Laravel API "Target class [auth.api] does not exist."错误 Laravel API \“目标类 [auth.api] 不存在。\”
【发布时间】:2022-08-23 22:54:47
【问题描述】:

我尝试使用 API 登录,并且登录成功。但是当我尝试使用Auth:users()-> 访问页面时,会出现这样的错误

{
    \"message\": \"Target class [auth.api] does not exist.\",
    \"exception\": \"Illuminate\\\\Contracts\\\\Container\\\\BindingResolutionException\",
    \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
    \"line\": 811,
    \"trace\": [
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
            \"line\": 691,
            \"function\": \"build\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Application.php\",
            \"line\": 796,
            \"function\": \"resolve\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
            \"line\": 637,
            \"function\": \"resolve\",
            \"class\": \"Illuminate\\\\Foundation\\\\Application\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Application.php\",
            \"line\": 781,
            \"function\": \"make\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 156,
            \"function\": \"make\",
            \"class\": \"Illuminate\\\\Foundation\\\\Application\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php\",
            \"line\": 41,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Routing\\\\Middleware\\\\SubstituteBindings\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php\",
            \"line\": 59,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Routing\\\\Middleware\\\\ThrottleRequests\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php\",
            \"line\": 116,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php\",
            \"line\": 62,
            \"function\": \"handleStatefulRequest\",
            \"class\": \"Illuminate\\\\Session\\\\Middleware\\\\StartSession\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Session\\\\Middleware\\\\StartSession\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php\",
            \"line\": 37,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Cookie\\\\Middleware\\\\AddQueuedCookiesToResponse\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php\",
            \"line\": 67,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Cookie\\\\Middleware\\\\EncryptCookies\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 103,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Router.php\",
            \"line\": 687,
            \"function\": \"then\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Router.php\",
            \"line\": 662,
            \"function\": \"runRouteWithinStack\",
            \"class\": \"Illuminate\\\\Routing\\\\Router\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Router.php\",
            \"line\": 628,
            \"function\": \"runRoute\",
            \"class\": \"Illuminate\\\\Routing\\\\Router\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Routing/Router.php\",
            \"line\": 617,
            \"function\": \"dispatchToRoute\",
            \"class\": \"Illuminate\\\\Routing\\\\Router\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php\",
            \"line\": 165,
            \"function\": \"dispatch\",
            \"class\": \"Illuminate\\\\Routing\\\\Router\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 128,
            \"function\": \"Illuminate\\\\Foundation\\\\Http\\\\{closure}\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Kernel\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php\",
            \"line\": 21,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\TransformsRequest\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php\",
            \"line\": 21,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\TransformsRequest\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php\",
            \"line\": 27,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\ValidatePostSize\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php\",
            \"line\": 63,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Middleware\\\\CheckForMaintenanceMode\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/fideloper/proxy/src/TrustProxies.php\",
            \"line\": 57,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 167,
            \"function\": \"handle\",
            \"class\": \"Fideloper\\\\Proxy\\\\TrustProxies\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php\",
            \"line\": 103,
            \"function\": \"Illuminate\\\\Pipeline\\\\{closure}\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php\",
            \"line\": 140,
            \"function\": \"then\",
            \"class\": \"Illuminate\\\\Pipeline\\\\Pipeline\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php\",
            \"line\": 109,
            \"function\": \"sendRequestThroughRouter\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Kernel\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/public/index.php\",
            \"line\": 55,
            \"function\": \"handle\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Kernel\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/server.php\",
            \"line\": 21,
            \"function\": \"require_once\"
        }
    ]
}{
    \"message\": \"Target class [auth.api] does not exist.\",
    \"exception\": \"Illuminate\\\\Contracts\\\\Container\\\\BindingResolutionException\",
    \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
    \"line\": 811,
    \"trace\": [
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
            \"line\": 691,
            \"function\": \"build\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Application.php\",
            \"line\": 796,
            \"function\": \"resolve\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Container/Container.php\",
            \"line\": 637,
            \"function\": \"resolve\",
            \"class\": \"Illuminate\\\\Foundation\\\\Application\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Application.php\",
            \"line\": 781,
            \"function\": \"make\",
            \"class\": \"Illuminate\\\\Container\\\\Container\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php\",
            \"line\": 204,
            \"function\": \"make\",
            \"class\": \"Illuminate\\\\Foundation\\\\Application\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php\",
            \"line\": 178,
            \"function\": \"terminateMiddleware\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Kernel\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/public/index.php\",
            \"line\": 60,
            \"function\": \"terminate\",
            \"class\": \"Illuminate\\\\Foundation\\\\Http\\\\Kernel\",
            \"type\": \"->\"
        },
        {
            \"file\": \"/Applications/MAMP/htdocs/i-entry-system/server.php\",
            \"line\": 21,
            \"function\": \"require_once\"
        }
    ]
}

这是我的控制器

<?php

namespace App\\Http\\Controllers\\Api\\Employer;

use App\\Http\\Controllers\\Controller;
use App\\Models\\CompanyDetail;
use App\\Models\\Employer;
use App\\Http\\Controllers\\Utils\\Tools\\ToolsController;
use App\\Models\\Worker;
use Auth;
use App\\Services\\SectorServices;
use Illuminate\\Http\\Request;

class ApiEmployerController extends Controller
{
    public $successStatus = 200;

    /**
     * API get data from DB
     *
     * @param Request $request
     * @return \\Illuminate\\Http\\Response
     */
    public function index(Request $request)
    {
        $dataFromDB = Worker::with(\'company_detail\', \'employer\')
                ->where(\'company_id\', $request->company_id);

            if (Auth::user()->area_role_relation) {
                // Only show user belongs to user\'s state
                if (Auth::user()->area_role_relation->state_id) {
                  $query->where(\'state_id\', Auth::user()->area_role_relation->state_id);
                }
            }

            $dataFromDB = $dataFromDB->orderBy(\'id\', \'desc\');
            $dataFromDB = $dataFromDB->get();

        return response()->json($dataFromDB, $this->successStatus);
    }
}
?>

这是API的路线

Route::POST(\'employer/index\', \'Api\\Employer\\ApiEmployerController@index\')->middleware(\'auth.api\');

我正在尝试获取令牌并将其传递给我在登录后瞄准的 api,但仍然出现错误。我已将use Auth; 添加到控制器中,仍然是同样的错误。

在这之前没有发生,最近发生了。我正在使用 Laravel 7.X 和 Passport 8.0。

有人收到这样的错误吗?

  • 在终端“php artisan clear-compiled”和“composer dump-autoload”中运行这两个命令
  • @AqibJaved 仍然不起作用。仍然错误。

标签: php api authentication laravel-7


【解决方案1】:

您是否在 config/auth.php 中添加了以下代码?

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

【讨论】:

  • 是的,已经添加了!但还是报错。
  • 运行命令 'php artisan config:cache' 和 'php artisan config:clear'
【解决方案2】:

需要检查您的功能是否正常工作,如果不工作,那么您需要更改您的路线。 像这样,

Route::POST('employer/index', 'Api/Employer/ApiEmployerController@index')->middleware('auth.api');

请确保您使用的任何工具请检查您的参数和方法是否相同 还要检查工具中的路线...!

编码快乐!!

【讨论】:

  • 所有功能都运行良好。
【解决方案3】:

对我来说,当我使用命令时会发生这种情况:artisan optimize。 与“编译的服务和包文件”有关。在我清除它们后,它工作正常:artisan optimize:clear

【讨论】:

    猜你喜欢
    • 2020-11-29
    • 2020-01-13
    • 1970-01-01
    • 2020-09-29
    • 2021-11-23
    • 2020-06-24
    • 2021-09-03
    • 2020-03-27
    • 2021-04-09
    相关资源
    最近更新 更多