如何在 Flutter 中获取 return POST API
How to get return POST API in Flutter
我需要你的帮助。我一直在关注 POST API 来自 Login App using REST API and SQFLite 的教程,但在调用请求后我无法获得任何 return 。请在下面更正我的代码。
login_presenter.dart
doLogin(String username, String password) {
api.callAPI(username, password).then((Post user) {
_view.onLoginSuccess(user);
}).catchError((Exception error) => _view.onLoginError(error.toString()));}
rest_ds.dart
Future<User> login(String username, String password) {
return _netUtil.post(LOGIN_URL, body: {
"username": username,
"password": password
}).then((dynamic res) {
print(res.toString());
if(res["error"]) throw new Exception(res["error_msg"]);
return new User.map(res["user"]);
});
}
我从 ParsingJSON-Flutter 获得的第二个教程,错误 Object.noSuchMethod 总是指向 _presenter.doLogin(_username, _password);
这意味着我没有到达主持人?感谢您的帮助。
您应该从 response.body 中解析 JSON 而不是直接解析正文。
Future<User> login(String username, String password) {
return _netUtil.post(LOGIN_URL, body: {
"username": username,
"password": password
}).then((response) {
//check response status, if response status OK
print("Response Status : $res");
if(response.statusCode == 200){
var data = json.decode(response.body);
if(data.length>0){
//Convert your JSON to Model here
}
else{
//Get Your ERROR message's here
var errorMessage = data["error_msg"];
}
}
});
我需要你的帮助。我一直在关注 POST API 来自 Login App using REST API and SQFLite 的教程,但在调用请求后我无法获得任何 return 。请在下面更正我的代码。
login_presenter.dart
doLogin(String username, String password) {
api.callAPI(username, password).then((Post user) {
_view.onLoginSuccess(user);
}).catchError((Exception error) => _view.onLoginError(error.toString()));}
rest_ds.dart
Future<User> login(String username, String password) {
return _netUtil.post(LOGIN_URL, body: {
"username": username,
"password": password
}).then((dynamic res) {
print(res.toString());
if(res["error"]) throw new Exception(res["error_msg"]);
return new User.map(res["user"]);
});
}
我从 ParsingJSON-Flutter 获得的第二个教程,错误 Object.noSuchMethod 总是指向 _presenter.doLogin(_username, _password);
这意味着我没有到达主持人?感谢您的帮助。
您应该从 response.body 中解析 JSON 而不是直接解析正文。
Future<User> login(String username, String password) {
return _netUtil.post(LOGIN_URL, body: {
"username": username,
"password": password
}).then((response) {
//check response status, if response status OK
print("Response Status : $res");
if(response.statusCode == 200){
var data = json.decode(response.body);
if(data.length>0){
//Convert your JSON to Model here
}
else{
//Get Your ERROR message's here
var errorMessage = data["error_msg"];
}
}
});