gpt4 book ai didi

php - 如何返回 Guzzle JSON 响应

转载 作者:可可西里 更新时间:2023-11-01 13:36:15 26 4
gpt4 key购买 nike

我正在使用 Guzzle 发出返回 JSON 的同步请求。调用工作正常并且响应正常,但是:

$client = new Client();
$promise = $client->requestAsync($requestType ,$this->url.$resource, // endpoint
[
'auth' => [ // credentials
$this->username,
$this->password
],
'json' => $payload, // the package
'curl' => [ // some curl options
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_RETURNTRANSFER => true,
],
'headers' => [ // custom headers
'Accept' => 'application/json',
'Content-Type' => 'application/json'
]
]
);

$response = $promise->wait();
echo $response->getStatusCode().'<br /><br />';
// Error handling
if($response->getStatusCode() != 200){
// Error Handling
}else{
echo $response->getBody(true);
}

如果我回显 response->getBody() 我会看到 JSON 字符串,但如果我将它分配给属性 print_r 或返回它,我会得到:

GuzzleHttp\Psr7\Stream Object ( [stream:GuzzleHttp\Psr7\Stream:private] => Resource id #245 [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 ( ) )

我需要使用 JSON 来验证我对服务的响应。我怎样才能做到这一点?我已经浏览了文档,但我显然遗漏了什么。

基本上沿着将 json getBody 输出分配给 $json 的思路:

if($json->first_field > 0)

感谢任何帮助。问候

最佳答案

在对 SO 进行更多研究之后,我首先进入了这篇文章

Guzzle 6: no more json() method for responses

基本上执行以下操作将返回原始输出。

return $response->getBody()->getContents();

巨大的头痛消失了。希望这对某人有帮助

关于php - 如何返回 Guzzle JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32857381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com