gpt4 book ai didi

dart - 使用标准库将字符串转换为 Dart 中的 GET 请求参数

转载 作者:IT老高 更新时间:2023-10-28 12:38:52 29 4
gpt4 key购买 nike

我有一个多字字符串,我想将其转换为 GET 请求参数。

我有一个 API 端点 /search 接受参数 query。现在,您的请求通常看起来像 http://host/search?query=Hello+World

我有一个 String Hello World 我想将其转换为这个 URL 编码参数。

当然,我可以编写将其分解为单词并在其间添加 + 的逻辑,但我想知道 URI class could help with this

我正在使用 Dart 的 httpClient 发出请求。

Future<String> _getJsonData(String queryToSearch) async {
List data = new List();
var httpClient = new HttpClient();

var request = await httpClient.getUrl(Uri.parse(
config['API_ENDPOINT'] + '/search?query=' +
queryToSearch));

var response = await request.close();
if (response.statusCode == HttpStatus.OK) {
var jsonString = await response.transform(utf8.decoder).join();
data = json.decode(jsonString);
print(data[0]);
return data[0].toString();
} else {
return "{}";
}
}

本质上,需要将 queryToSearch 编码为 URL 参数。

最佳答案

您可以使用 Uri.http(s) 将所有内容(查询、主机和路径)包装在一起并相应地对其进行编码。

    final uri = new Uri.http(config['API_ENDPOINT'], '/search', {"query": queryToSearch});

关于dart - 使用标准库将字符串转换为 Dart 中的 GET 请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899164/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com