微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过Laravel Http Client发送嵌套数组

如何解决通过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 举报,一经查实,本站将立刻删除。