Как исправить исключение: необработанное исключение: соединение закрыто до получения полного заголовка

#android #flutter

#Android #флаттер

Вопрос:

Я отправляю запрос, и у меня есть исключение, это класс модели:

  class User{
  String mobileId , username;

  User({this.username,this.mobileId});

  factory User.fromJson(Map<String, dynamic> json){
    return User(
      username: json['userName'],
      mobileId: json['mobileId'],
    );
  }
}
  

это функция, которую я отправляю запрос

 Future<User> sendRequest(String mobileId , String username)async{
  http.Response response = await http.post('http://94.237.88.194:8080/player',
    body:jsonEncode(<String,String>{
      'userName'  : username,
      'mobileId' : mobileId,
    }),
  );
  print(response.statusCode);

  return User.fromJson(jsonDecode(response.body));
}
  

Комментарии:

1. что такое StatusCode ?

2. Пожалуйста, подключитесь к хорошему интернет-соединению.

3. @manofknowledge он выдает исключение перед печатью кода состояния

Ответ №1:

Я нашел решение, я добавил заголовок в функцию post

 Map<String, String> header = {"Content-Type": "application/json"};
  

и функция становится:

 Future<User> sendRequest(String mobileId , String username)async{
  print('5');
  Map<String, String> header = {"Content-Type": "application/json"};

  http.Response response = await http.post('http://94.237.88.194:8080/player',headers: header,
    body:jsonEncode(<String,String>{
      'userName'  : username,
      'mobileId' : mobileId,
    }),
  );
  print('4');
  print(response.statusCode);
  print(response.body);

  return User.fromJson(jsonDecode(response.body));
}