Необработанное исключение: тип 'int' не является подтипом типа 'String' в приведении типа - PullRequest
0 голосов
/ 30 марта 2020

Я не могу найти решение. Я получаю вышеупомянутое исключение при нажатии 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');
    }
  }
}

Что-то мне не хватает ???

1 Ответ

1 голос
/ 30 марта 2020

Из документации по пакету http, которую вы можете найти здесь , метод post может иметь в своем теле следующие элементы:

enter image description here

Но вы пытаетесь передать карту с ключом String и значением int, что невозможно, и поэтому вы получаете сообщение об ошибке. Вы можете хранить тюки в виде строки и преобразовывать их в int при получении.

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

И с этим изменением ваш код должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...