Php 传递给Lightning\Routing\Middleware\ThrottleRequests::addHeaders()的参数1必须是的实例

Php 传递给Lightning\Routing\Middleware\ThrottleRequests::addHeaders()的参数1必须是的实例,php,laravel,jwt,Php,Laravel,Jwt,我创建了一个新的中间件来检查用户令牌,我创建了中间件,然后使用kernal.php,但是当我试图访问中间件中的$request时,我得到了错误 这是我的中间件代码 请帮忙 public function handle($request, Closure $next, $guard = null) { $token = $request->header('Authorization'); $verify = explode(" ", $token);

我创建了一个新的中间件来检查用户令牌,我创建了中间件,然后使用kernal.php,但是当我试图访问中间件中的$request时,我得到了错误

这是我的中间件代码

请帮忙

public function handle($request, Closure $next, $guard = null)
{
    $token = $request->header('Authorization');
    $verify = explode(" ", $token);

    if ($verify[0] !== "petani") {

        return [
            'code' => 401,
            'error' => 'Token not provided.'
        ];
    }

    if (!$token) {

        return [
            'code' => 400,
            'error' => 'Provided token is expired.'
        ];
    }

    try {
        
        $credentials = JWT::decode($verify[1], env('JWT_SECRET'), ['HS256']);
    
    } catch(ExpiredException $e) {

        return [
            'code' => 400,
            'error' => 'Token is expired. '
        ];
    } catch(Exception $e) {

        return [
            'code' => 400,
            'error' => 'An error while decoding token.'
        ];
    }

    return $next($request);

}
多亏了这一点:

您应该以以下方式返回响应:

public function handle($request, Closure $next, $guard = null)
    {
        $token = $request->header('Authorization');
        $verify = explode(" ", $token);

        if ($verify[0] !== "petani") {

            $response= [
                'code' => 401,
                'error' => 'Token not provided.'
            ];
            return response()->json($response, 401);
        }

        if (!$token) {

            $response= [
                'code' => 400,
                'error' => 'Provided token is expired.'
            ];
            return response()->json($response, 400);
        }

        try {

            $credentials = JWT::decode($verify[1], env('JWT_SECRET'), ['HS256']);

        } catch(ExpiredException $e) {

            $response= [
                'code' => 400,
                'error' => 'Token is expired. '
            ];
            return response()->json($response, 400);
        } catch(Exception $e) {

            $response= [
                'code' => 400,
                'error' => 'An error while decoding token.'
            ];
            return response()->json($response, 400);
        }

        return $next($request);

    }

一定是一个例子,先生?这就是您遇到的错误吗?猜猜是什么原因导致出现此错误。传递给Illumb\Routing\Middleware\ThrottleRequests::addHeaders()的参数1必须是的实例