Laravel 5.2 JSON对使用错误api_令牌的请求的响应

Laravel 5.2 JSON对使用错误api_令牌的请求的响应,laravel,laravel-5,laravel-5.2,laravel-middleware,Laravel,Laravel 5,Laravel 5.2,Laravel Middleware,我在controller Laravel 5.2中使用auth:api中间件 class RestfulController extends Controller { public function __construct() { $this->middleware(['api', 'auth:api'], ['except' => ['login'] ]); } } 路线: 若请求不包含或包含无效的api

我在controller Laravel 5.2中使用auth:api中间件

class RestfulController extends Controller
    {

        public function __construct() {
            $this->middleware(['api', 'auth:api'], ['except' => ['login'] ]);
        }

    }
路线:


若请求不包含或包含无效的api_令牌,框架将重定向到登录页面。相反,我希望返回带有错误的JSON响应。如何实现它?

您应该检查api和auth:api中间件组,并查找正在执行此操作的那个。如果它位于供应商包中,则需要对其进行扩展并进行更改。

更改app/Http/Middleware/Authenticate.php handle方法,它将响应json

public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->guest()) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        } else {
            $response = [
                'status' => 'error',
                'message' => 'This is error message'
            ];
            return Response::json($response);
        }
    }

    return $next($request);
}

您好,您可以显示您的路由文件吗?请给出一个更好的取消驻留示例
public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->guest()) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        } else {
            $response = [
                'status' => 'error',
                'message' => 'This is error message'
            ];
            return Response::json($response);
        }
    }

    return $next($request);
}