最近,我开始在Flutter中开发一个小型应用程序。我在提出网络请求时遇到问题。我已经尝试过用邮递员拨打电话,并且可以正常工作。但是在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 代码:someCode
然后我会收到成功的回复
答案 0 :(得分:0)
我通过以下方式传递参数,也许可以为您工作:
var response = await http.post(
url,
headers:{ "Accept": "application/json" } ,
body: { "state": 1}, //key value
encoding: Encoding.getByName("utf-8")
);
另一件事,您说在邮递员中发出过帐请求,但在您的代码中有发出请求,请验证什么是正确的方法