Http пост запрос с параметрами тела не работает - PullRequest
0 голосов
/ 22 мая 2019

Недавно я начал разработку небольшого приложения во Flutter.У меня проблема с отправкой сетевого запроса.Я попробовал звонок в почтальоне, и там это работает.Но во Флаттере мне так и не удалось заставить его работать, я потратил около 3 часов, пытаясь понять, что я делаю неправильно.

Любая помощь будет принята с благодарностью.

 @override
  Future<String> login(common.LoginParameters loginParameters) async {
    try {

      final String loginURL = "https://test-inszicht.acceptatie.maxdoro.eu/api/login";

      LoginModel loginResult;

      Map bodyParams = { "inlognaam" : loginParameters.username , "wachtwoord" : loginParameters.password, "code" : loginParameters.smsCode};

      //await API call
      http.Response httpResponse = await http.put( loginURL, body: json.encode(bodyParams));

      if (httpResponse.statusCode == 200) {
        // If server returns an OK response, parse the JSON
        loginResult=  LoginModel.fromJson(json.decode(httpResponse.body));
      } else {
        // If that response was not OK, throw an error.
        throw Exception('Failed to load post');
      }

      // if logged in get token, Otherwise return error
      if (loginResult.ingelogd) {
        // read the token

        saveToken(loginResult.response);
        return "Ingelogd";
      } else {
        return loginResult.error;
      }
    }
    on Exception catch(error) {
      print("Todor " + error.toString());
      return "Controleer uw internet verbinding en probeer opnieuw";
    }
  }

В Почтальонеесли я выберу Опубликовать запрос с параметрами тела inlognaam: someUsername wachtwoord: somePassword code: someCode

Тогда я получу успешный ответ

1 Ответ

0 голосов
/ 22 мая 2019

Я передаю параметры следующим образом, может быть, он может работать для вас:

var response = await http.post(
url,
headers:{ "Accept": "application/json" } ,
body: { "state": 1}, //key value
encoding: Encoding.getByName("utf-8")
);

Другое дело, вы говорите, что в почтальоне вы делаете почтовый запрос, но в вашем коде у вас есть путзапрос, проверьте, какой метод правильный

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