如何使用Guzzle保持错误响应机构

时间:2014-05-27 14:30:44

标签: php json error-handling response guzzle

我正在使用Guzzle来使用API​​。 当在该API中引发错误时,响应看起来像这样。

Status Code: 500
Content-Type: application/json
-----
{
    error: 'identifier',
    error_messsage: 'foo bar'
}

我希望身体响应(json编码)成为Guzzle处理的异常中的消息。

try {
    // Below, a Guzzle request
    $request->send();
}
catch ( \Exception $e ) {
    // returns the error response body we talked about before
    $e->getMessage();
}

有没有办法允许这样做?

1 个答案:

答案 0 :(得分:1)

感谢@dollery,阅读该文档引导我找到解决方案。

使用异常的getResponse()方法按预期工作。

try {
    // Below, a Guzzle request
    $request->send();
}
catch ( \Exception $e ) {
    // returns the error response body
    $e->getResponse()->json();
}