未处理的异常:类型'int'不是类型转换中类型'String'的子类型

问题描述 投票:0回答:1

我无法找到解决方案。点击http.post

时出现上述异常

这是Api提供程序类==>

class SitesApiProvider {

  final _url = ApiStrings.GET_SITES_BY_COMPANY_ID_API;
 final _body= {
   "company_id" : 10
 };

  Future<SiteModel> fetchSitesList() async {
    print("inside sites list api");
    final response = await http.post(_url, body:_body);
    print("${response.body.toString()}");
    print("json body --- ${json.encode(body)}");
    if (response.statusCode == 200) {

      return SiteModel.fromJson(json.decode(response.body));
    } else {

      throw Exception('Failed to load post');
    }
  }
}

我缺少什么吗?

rest http flutter post dart
1个回答
0
投票

从http包文档中可以找到here,post方法的主体可以包括以下内容:

enter image description here

但是您正在尝试传递带有String键和int值的Map,这是不可能的,这就是为什么您会收到错误消息。您可以将大包存储为字符串,并在收到时将其转换为int。

 final Map<String,String> _body= {
"company_id" : 10.toString() //your value is now String
};

并且进行了此更改,您的代码必须可用。

© www.soinside.com 2019 - 2024. All rights reserved.