我在Slim 3中创建了一个中间件,它将请求保存到数据库中。但是我很难保存响应。应用程序运行后,我没有在中间件中获得响应。请检查以下代码
$this->logId = $apiLogController->saveLog($parsedBody, $headers, $queryParams, $ipAddress, $url);
//call the app
$response->getBody()->write('BEFORE');
$response = $next($request, $response);
$response->getBody()->write('AFTER');
echo '<pre>';
var_dump($response->getBody()->getContents());exit;
我也在应用中使用其他中间件。如何在中间件中获得响应,以便我可以将其保存在数据库中。
答案 0 :(得分:0)
对不起,我在R&amp; D之后得到了我的问题的答案。我需要回放正文流来获取内容。
var_dump($response->getBody()->rewind());
var_dump($response->getBody()->getContents());
exit;