我有卷曲请求:
curl http://example.com/json/get_products_by_multifilter -d '{"multifilter":{"limit":5}}'
我的Guzzle代码:
$client = new GuzzleHttp\Client();
$request = $client->createRequest(
'POST',
'http://example.com/json/get_products_by_multifilter',
array('multifilter' => array('limit' => 1))
);
$response = $client->send($request);
echo $response->getBody();
我收到错误:
[InvalidArgumentException]
没有方法可以处理multifilter配置密钥
我的代码有什么问题,如何将多个数组作为参数?
答案 0 :(得分:2)
在Guzzle 5中,您需要在密钥正文
中提供发布数据查看文档以获取更多信息:http://guzzle.readthedocs.org/en/latest/clients.html
使用发布方法的示例:
$client->post('http://example.com/json/get_products_by_multifilter', [
'body' => [
'multifilter' => ['limit' => 1]
]
]);
使用 createRequest
$request = $client->createRequest(
'POST',
'http://example.com/json/get_products_by_multifilter',
['body' => 'multifilter' => ['limit' => 1]]
);
每次看到错误
[InvalidArgumentException]没有方法可以处理multifilter配置 键
表示您在选项中使用的密钥不存在,而guzzle不知道如何处理它。