首页 > 解决方案 > 当我使用 api 注销并再次发送获取请求以显示用户数据时,它显示“Route [login] not defined”。

问题描述

我的问题:- 使用 api post 请求注销并发送获取用户详细信息请求后,它显示一条消息“Route [login] not defined。”。

我的注销代码:-

public function logout(Request $request) {

    $request->user()->token()->revoke();

    $json = [
            'success' => true,

            'code' => 200,

            'message' => 'You are Logged out.',

        ];

        return response()->json($json, '200');
}

1https ://i.stack.imgur.com/wiGQz.png在此处输入图像描述

标签: laravelapiloginroutes

解决方案


您正在尝试重定向到名称为的命名路由login,但您没有具有该名称的路由:

Route::post('login', 'AuthController@login')->name('login'); 

app\Exceptions\Handler.php尝试这个它帮助我以前

你可以在 laravel 中覆盖它。只要确保包括

use Exception;
use Request;
use Illuminate\Auth\AuthenticationException;
use Response;

 protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()) {
            return response()->json(['error' => 'Unauthenticated.'], 401);
        }


        return redirect()->route('auth.login');
    }

方法不允许405出错,路由或 csrf 保护的问题试试这个

Route::get('logout', 'AuthController@logout');

推荐阅读