错误 Laravel API "目标类 [auth.api] 不存在。



我尝试使用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 AppHttpControllersApiEmployer;
use AppHttpControllersController;
use AppModelsCompanyDetail;
use AppModelsEmployer;
use AppHttpControllersUtilsToolsToolsController;
use AppModelsWorker;
use Auth;
use AppServicesSectorServices;
use IlluminateHttpRequest;
class ApiEmployerController extends Controller
{
public $successStatus = 200;
/**
* API get data from DB
*
* @param Request $request
* @return IlluminateHttpResponse
*/
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', 'ApiEmployerApiEmployerController@index')->middleware('auth.api');

登录后,我试图获取令牌并将其传递给我想要的api,但仍然出现错误。我已经将use Auth;添加到控制器中,仍然是相同的错误。

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

有人收到这样的错误吗?

路由中的中间件保护不正确:

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

应该是:

Route::POST('employer/index', 'ApiEmployerApiEmployerController@index')->middleware('auth:api');

注意auth和api之间的冒号。

手册中的一个示例:https://laravel.com/docs/7.x/passport#via-中间件

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

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

需要检查您的功能是否工作,如果不工作,则需要更改Routes。像这样,

路线:POST("employer/index","Api/employer"/ApiEmployerController@index'(->中间件("auth.api"(;

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

快乐编码!!

对我来说,当我使用命令artisan optimize时,就会发生这种情况。与";编译的服务和包文件";。在我清除了它们之后,它运行良好:artisan optimize:clear

相关内容

最新更新