php - 如何使用Guzzle保留错误响应主体

标签 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();
}

有没有办法做到这一点?

最佳答案

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

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

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

关于php - 如何使用Guzzle保留错误响应主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23892173/

相关文章:

javascript - 输入元素应该有自动完成属性

javascript - 搜索 JSON 格式的数组

java - 如何重命名子类的 JSON 属性

java - Java SDK for REST API服务上的错误处理

php - 不同的 PHP 压缩库有什么好处?

php - 有人在 ubuntu 环境中成功地将 jonnyw 的 "php phantomjs"与 laravel 一起使用了吗?

php - 将 mysql 数据库导入 phpmyadmin #1064

PHP、JSON 和 JQuery 上传

php - 调用Python脚本*使用从php导入的非标准库*

ruby-on-rails - Rails救援无效或无法到达