Http-запрос отправил пустое тело - PullRequest
2 голосов
/ 25 марта 2020

Это код моего почтового запроса:

Future<User> createUser(String name,String username,String email,String password, String passwordConfirm, String role) async {
  final response = await http.post('http.register.com',
      body:jsonEncode(<String, String>{
        'name': name,
        'username': username,
        'number': email,
        'password': password,
        'passwordConfirm':passwordConfirm,
        'role':role,
      })
  );
  if (response.statusCode == 200) {
    return User.fromJson(json.decode(response.body));
  } else {
    throw Exception('Failed to load request');
  }
}

Проблема в том, что после того, как я ее отправил, тело переходит на API-интерфейс пустым. Как я могу это решить?

_futureUser = createUser(_namecontroller.text ,_usernamecontroller.text,_email.text ,_passwordcontroller.text ,_passwordConfirmcontroller.text, _role);

Я поставил еще несколько кодов, думаю, это может быть полезно.

1 Ответ

0 голосов
/ 25 марта 2020

В соответствии с post функциональным документом https://pub.dev/documentation/http/latest/http/post.html
Если body равно String, content-type запроса по умолчанию будет "text/plain".
Если body равен Map, content-type запроса по умолчанию будет "application/x-www-form-urlencoded".
Вы можете установить заголовок на application/json

фрагмент кода

http.post(url,
      headers: {"Content-Type": "application/json"},
      body: body
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...