Guzzle http://guzzlephp.org/客户端默认从此代码创建
$client->get('https://example.com/{?a}', array('a' => array('c','d')));
this url
https://example.com/?a=c,d
在 RESTful 应用程序中发送查询字符串中的数组的最佳实践是什么?问题是,如何在服务器端判断是否c,d
是字符串还是数组?使用方括号发送数组不是更好吗,例如a[]=c&a[]=d
?如何设置 Guzzle 使用方括号?或者使用 JSON 编码变量更好?在服务器端我正在使用Tonic http://peej.github.com/tonic/.
工作解决方案:
$vars = array('state[]' => array('Assigned','New'), 'per_page' => $perPage, 'page' => $pageNumber);
$query = http_build_query($vars, null, '&');
$string = preg_replace('/%5B(?:[0-9]|[1-9][0-9]+)%5D=/', '=', $query); // state[]=Assigned&state[]=New
$client = new Client([follow instruction to initialize your client ....]);
$response = $client->request('GET', $uri, ['query' => $string]);
现在您的请求中有相同名称的参数。
Dung.
Source: http_build_query 具有相同名称参数 https://stackoverflow.com/questions/8170306/http-build-query-with-same-name-parameters
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)