网络请求参数是否必须是String类型,为什么呢
来源:9-6 本章小结
慕勒6194056
2022-05-26
老师好,我封装网络请求参数时使用如下代码:
var params = <String,dynamic>{};
MyRequest add(String k,Object v){
params[k] = v;
return this;
}
的时候运行时会报出type ‘int’ is not a subtype of type ‘Iterable’这个问题。
改成:
var params = <String,String>{};
MyRequest add(String k,Object v){
params[k] = v.toString();
return this;
}
就没问题了,请问是为什么呢,flutter只能接受String类型的网络参数吗,另外map类型的参数可以直接使用toString传递吗。
补充一下地址拼接是使用Uri.https(“域名”, “路径”,params);进行拼接的
写回答
1回答
-
因为map中的dynamic在使用的时候只能接受一种具体类型,可以改成这种实现:
Map<String, dynamic> header = {};
///添加header
HiBaseRequest addHeader(String k, Object v) {
header[k] = v.toString();
return this;
}012022-05-27
相似问题
关于请求到网络请求!
回答 1
说参数必须传,这是为什么呢?
回答 2