问题描述
有什么方法可以方便地将两个参数/查询作为 Map
var headers={
'accept': 'application/json','Accept-Language': 'en_US','user-agent': 'Mozilla/5....'
};
final response = await http.get(Uri.parse(url+'?district_id=$district_id'+'&date=$date'),headers:headers);
http.get 只接受 url 和 headers,不像在 python get 中有效载荷字典可以用作参数。 我想简单地实现它,例如:
final response = await http.get(Uri.parse(url),params:params,headers:headers);
或任何其他没有字符串操作的方法。
更新:
我尝试使用 Uri
构造函数。但它抛出错误。我需要通过的地图是
{'district_id':298,'date':'10-06-2021'}; \\has int and String as values.
错误:
“int”类型不是“Iterable”类型的子类型
到目前为止,我只能通过将 int 298 更改为 String '298' 来使其工作。
解决方法
您可以使用 dio.request
,它接受一个名为 Map<String,dynamic>
的 queryParameters
对象。
dio.request(path,options: Options(method: 'GET',headers: headers),queryParameters: {'district_id': districtId},)