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

标签 rest http flutter post dart

我找不到解决方案。我在点击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');
    }
  }
}

我缺少什么了吗???

最佳答案

在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
};

并通过此更改,您的代码必须正常工作。

关于rest - 未处理的异常:类型 'int'不是类型转换中类型 'String'的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60937660/

相关文章:

java - Jersey 将字符值序列化为 ASCII 等效数字字符串

asp.net - 在自定义 ASP.NET HttpHandler 响应中禁用缓存控制 header 字段

json - 如何清理golang中的输入数据?

c# - 在 Windows 上拦截/重定向传出的 http 连接

charts - Flutter Charts 如何旋转 X 轴?

flutter - Flutter HTTP 和 Flutter Dio 有什么区别?

ruby-on-rails - 什么是理解 RESTful 及其含义的简明方式?

javascript - jQuery - 将表单提交到 RESTful URL

iOS REST 调用和缓存策略

flutter - flutter 中的透明文本字段