中间件捕获接口异常后如何再原封不动的返回
问题
新建了一个中间件,接口路由加入了此中间件,该中间件的应用是 将接口抛出的异常错误记录在日志中后,再把response 返回去,但是,捕获到异常后的response已经 变成未定义了,该如何解决呢?
public function handle(ServerRequestInterface $request, DelegateInterface $next)
{
try{
$response = $next->process($request);
$log["response"] = $response->getContents();
$this->writeLog(json_encode($log, JSON_UNESCAPED_UNICODE));
} catch (\Exception $e) {
$log["response"] = $e->getMessage();
$this->writeLog(json_encode($log, JSON_UNESCAPED_UNICODE));
return $response;
}
return $response;
}
推荐文章: