Я использую Guzzle, чтобы сделать запрос aSync, который возвращает JSON. Вызов работает нормально, и ответ в порядке, однако:Как вернуть ответ 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, или вернуть его I get:
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 для проверки моего ответа от службы. Как я могу это сделать? Я прошел через документы, но я, очевидно, что-то пропустил.
По существу вдоль линий назначая вывода getBody JSon сказать $ JSON:
if($json->first_field > 0)
Любая помощь приветствуется. Привет
Lol Я ищу это часами - я не могу понять, как, когда какая-то lib становится настолько популярной, как часть Laravel, они не начинают обновлять свои документы при выпуске новой версии. Thanks – martyyy
@martyyy Guzzle НЕ является частью рамки Laravel. –
ОК, это не так, как указано в их документации и учебниках – martyyy