Yii2 Client установка тела POST запроса
В официальной документации Yii2 Http Client указан такой способ передачи POST параметров:
use yii\httpclient\Client;
$client = new Client();
$response = $client->createRequest()
->setMethod('POST')
->setUrl('http://example.com/api/1.0/users')
->setData(['name' => 'John Doe', 'email' => '[email protected]'])
->send();
if ($response->isOk) {
$newUserId = $response->data['id'];
}
т.е. передаю параметры в виде 'name' => 'value'.
Но как передать параметры сразу строкой? Например, у меня есть переменная, в которой POST параметры указаны в виде строки:
$postData = 'param1=value1¶m2=value2¶m3=value3';
Пытаюсь сделать так:
$response = $client->createRequest()
->setMethod('POST')
->setUrl('http://example.com/api/1.0/users')
->setData($postData)
->send();
И... ничего не выходит. Как быть?
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Можно использовать parse_str, чтобы преобразовать такую строку в ассоциативный массив