jwt-auth 怎么自定义错误返回啊?

jwt-auth怎么自定义错误返回啊?我不是不看文档,看了半天愣是没找到

jwt
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5

我是修改了 app/Middleware/Authenticate.php 文件:

<?php

namespace App\Http\Middleware;

use App\Exceptions\ApiException;
use Illuminate\Auth\Middleware\Authenticate as Middleware;

class Authenticate extends Middleware
{
    protected function redirectTo($request)
    {
        if ($request->expectsJson()) {
            return error('token 已失效,请重新登录', 401);
        } else {
            return route('login');
        }
    }
}
5年前 评论
勇敢的心 (楼主) 5年前

error 方法:

app/helpers.php

if (! function_exists('error')) {
    function error($message, $code = -1)
    {
        throw new \App\Exceptions\ApiException($message, $code);
    }
}

ApiException 是使用 artisan 创建的异常类,没有修改代码

app/Exceptions/Handler.php 中的 render 方法自定义响应异常:

public function render($request, Throwable $exception)
{
    return response()->json([
        'code' => $code,
        'message' => $message,
    ]);
}
5年前 评论
yxuefeng (作者) 5年前
berrx 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!