如何解决通过Laravel Http Client发送嵌套数组
我想通过Laravel Http Client(Laravel 7.x)向包含嵌套参数的API网站发送请求
$params = [
'type' => 'books','variables' => [
'color' => 'red','size' => 'large'
]
]
我希望我的网址像这样:
http://example.com/?type=books&variables={"color":"red","size":"large"}
在网址上方编码:
http://example.com/?type=books&variables=%7B%22color%22%3A%22red%22%2C%22size%22%3A%22large%22%7D
但是当我使用时:
Http::get('http://example.com',$params);
API服务器返回错误。
但是当我使用时:
Http::get('http://example.com/?type=books&variables={"color":"red","size":"large"}');
效果很好。
那么如何将我的params数组转换为url?
(我无权访问API服务器)
解决方法
尝试json_encode()
$params = [
'type' => 'books','variables' => json_encode([
'color' => 'red','size' => 'large'
])
]
$url = "http://example.com?".http_build_query($params);
Http::get($url);
和http_build_query()
引用链接https://www.php.net/manual/en/function.http-build-query.php
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。