使用扩展tymon/jwt-auth如何自定义异常时候的code ?
为了前端返回的异常格式统一,在 app/Exceptions/Handler文件中重写了convertExceptionToArray方法,使其在返回的时候多返回一个code字段.
protected function convertExceptionToArray(Throwable $e)
{
return config('app.debug') ? [
'message' => $e->getMessage(),
'code' => $e->getCode(),
'exception' => get_class($e),
'file' => $e->getFile(),
'line' => $e->getLine(),
'trace' => collect($e->getTrace())->map(function ($trace) {
return Arr::except($trace, ['args']);
})->all(),
] : [
'message' => $this->isHttpException($e) ? $e->getMessage() : 'Server Error',
'code' => $e->getCode()
];
}
为了在返回的消息中添加一个自定义的 ‘code’ 信息,
但是对于系统内部直接抛出的异常和第三方扩展抛出的异常如何定义这个code呢?
比如说:当使用tymon/jwt-auth扩展做jwt校验的时候,当token失效的时候返回的异常json为:
{
message: 'Unauthenticated.',
code: 0
}
期望:
{
message: 'Unauthenticated.',
code: 21301
}
推荐文章: