我有一个多字字符串,我想将其转换为 GET 请求参数。
我有一个/search
接受参数的 API 端点query
。现在,您的请求通常看起来像http://host/search?query=Hello+World
.
我有一个String
Hello World,我想将其转换为此 URL 编码参数。
当然,我可以编写逻辑将其分解为单词并+
在中间添加一个,但我想知道URI 类是否可以帮助解决这个问题
我正在使用 DarthttpClient
提出请求。
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 参数。