所以我有下面的代码
try {
$response = $client->request('POST', 'http://dev.api.example.com/v1/partners', [
// params
]);
} catch (ClientException $ex) {
Debug::dump($ex);
die;
}现在,我故意发送错误的数据进行测试,api发送了400段代码,因为缺少了一些东西,而且我正在使用try和catch块来捕获它。现在,我想向主体展示api返回的内容。我试过以下几种方法
$ex->getResponse()->getBody()但它只返回以下内容。
GuzzleHttp\Psr7\Stream Object
(
[stream:GuzzleHttp\Psr7\Stream:private] => Resource id #73
[size:GuzzleHttp\Psr7\Stream:private] =>
[seekable:GuzzleHttp\Psr7\Stream:private] => 1
[readable:GuzzleHttp\Psr7\Stream:private] => 1
[writable:GuzzleHttp\Psr7\Stream:private] => 1
[uri:GuzzleHttp\Psr7\Stream:private] => php://temp
[customMetadata:GuzzleHttp\Psr7\Stream:private] => Array
(
)
)当api在postment中发送时
{
"success": false,
"error": {
"code": 400,
"message": "The name has already been taken.<br />The email field is required."
}
}发布于 2015-09-17 14:30:38
好吧我已经弄清楚了。您所需要做的就是在例外情况下执行以下操作。
$ex->getResponse()->getBody()->getContents()
截至
http://docs.guzzlephp.org/en/latest/psr7.html
https://stackoverflow.com/questions/32630999
复制相似问题