讨论数量:
我是修改了 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');
}
}
}
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,
]);
}
推荐文章: