Guzzle map ответ на объект

Есть ли способ использовать Guzzle в PHP, чтобы при отправке запроса Вызов API, чтобы я мог сопоставить свой ответ с объектом Response?

Таким образом, вместо того, чтобы получать данные ответа, а затем передавать значение моего массива в качестве аргумента, Guzzle может автоматически преобразовать его в требуемый класс?

По сути, это то, что я делаю:

$client = new GuzzleHttp\Client();
$response = $client->request('myapi.users', 'GET');
$responseData = $response->getBody()->getContents();
$user = new User($responseData);

Однако я хотел бы попытаться избежать этого шаблонного кода, выполнив что-то вроде следующего:

$client = new GuzzleHttp\Client();
$user = $client->request('myapi.users', 'GET');

Позволяет ли Guzzle сопоставлять объекты ответов с ответами?

Спасибо!


person liamjnorman    schedule 19.03.2018    source источник
comment
Я не думаю, что это возможно с Guzzle, но вы можете обернуть Guzzle и сделать это самостоятельно.   -  person zstate    schedule 20.03.2018


Ответы (1)


Нет, HTTP-клиент (которым является Guzzle) не несет за это ответственности. Поэтому там нет такой функции.

Вы можете использовать Guzzle и свой собственный сопоставитель объектов, BTW, и создать SDK для используемого вами API. Как, например, GitHub SDK, который также использует Guzzle внутри, но предоставляет определенный интерфейс для домена.

person Alexey Shokov    schedule 20.03.2018