我有这个:
List<String> _filters = <String>[8, 11];
我将此_filters
传递到此端点:
this.api.setInterests(token, _filters)
.then((res) {
print(res);
});
如下所示:
Future setInterests(String token, List<String> interests) {
return _netUtil.post(BASE_URL + "/setinterests", body: {
"token": token,
"interests": interests
}).then((dynamic res) {
return res;
});
}
传递_filters
总是会引发错误:
type 'List<String>' is not a subtype of type 'String' in type cast
我不知道飞镖还想要我做什么。
答案 0 :(得分:0)
我找到了答案。我刚刚将.toString()
添加到了_filters
列表中。
this.api.setInterests(token, _filters.toString())
.then((res) {
print(res);
});
答案 1 :(得分:0)
json.encode(data)
创建数据地图
final Map<String, dynamic> data = new Map<String, dynamic>();
data['token'] = token;
data['interests'] = interests;
像这样调用api
http.post(url,<br>
body: json.encode(data),
headers: { 'Content-type': 'application/json',
'Accept': 'application/json'},
encoding: encoding)
.then((http.Response response) {
// print(response.toString());
}
答案 2 :(得分:0)
在您的情况下,主体是Map
使用List <String>
函数分隔join()
,并将每个元素转换为String并连接字符串。像这样
_filters.join('')
如果您想要comma separated string
,请这样做
这使您的列表以逗号分隔的字符串
_filters.join(',')