优化访问接口报错Server internal error
This commit is contained in:
@@ -40,29 +40,35 @@ class Handler extends ExceptionHandler
|
||||
$this->logger->error($logs);
|
||||
}
|
||||
|
||||
public function render(Request $request, Throwable $exception): Response
|
||||
{
|
||||
$debug = config('app.debug', true);
|
||||
$code = $exception->getCode();
|
||||
$json = [
|
||||
'code' => $code ? $code : 500,
|
||||
'message' => $code !== 500 ? $exception->getMessage() : 'Server internal error',
|
||||
'type' => 'failed'
|
||||
];
|
||||
if ($debug) {
|
||||
$json['request_url'] = $request->method() . ' ' . $request->uri();
|
||||
$json['timestamp'] = date('Y-m-d H:i:s');
|
||||
$json['client_ip'] = $request->getRealIp();
|
||||
$json['request_param'] = $request->all();
|
||||
$json['exception_handle'] = get_class($exception);
|
||||
$json['exception_info'] = [
|
||||
'code' => $exception->getCode(),
|
||||
'message' => $exception->getMessage(),
|
||||
'file' => $exception->getFile(),
|
||||
'line' => $exception->getLine(),
|
||||
'trace' => explode("\n", $exception->getTraceAsString())
|
||||
];
|
||||
}
|
||||
return new Response(200, ['Content-Type' => 'application/json;charset=utf-8'], json_encode($json));
|
||||
}
|
||||
// public function render(Request $request, Throwable $exception): Response
|
||||
// {
|
||||
// $debug = config('app.debug', true);
|
||||
// $code = $exception->getCode();
|
||||
// $httpCode = ($code >= 400 && $code < 600) ? $code : 500;
|
||||
// // 开启 debug 时始终返回真实错误信息,便于排查;未开启时 500 不暴露详情
|
||||
// $message = $exception->getMessage();
|
||||
// if (!$debug && $httpCode === 500) {
|
||||
// $message = 'Server internal error';
|
||||
// }
|
||||
// $json = [
|
||||
// 'code' => $httpCode,
|
||||
// 'message' => $message,
|
||||
// 'type' => 'failed'
|
||||
// ];
|
||||
// if ($debug) {
|
||||
// $json['request_url'] = $request->method() . ' ' . $request->uri();
|
||||
// $json['timestamp'] = date('Y-m-d H:i:s');
|
||||
// $json['client_ip'] = $request->getRealIp();
|
||||
// $json['request_param'] = $request->all();
|
||||
// $json['exception_handle'] = get_class($exception);
|
||||
// $json['exception_info'] = [
|
||||
// 'code' => $exception->getCode(),
|
||||
// 'message' => $exception->getMessage(),
|
||||
// 'file' => $exception->getFile(),
|
||||
// 'line' => $exception->getLine(),
|
||||
// 'trace' => explode("\n", $exception->getTraceAsString())
|
||||
// ];
|
||||
// }
|
||||
// return new Response(200, ['Content-Type' => 'application/json;charset=utf-8'], json_encode($json));
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user