I want to show data from fetchdata function
List<LoanModel> _loanmodel = <LoanModel>[];
Future<LoanModel> _fetchData() async {
setState(() {
loading = true;
});
var endpointUrl = 'http://192.168.0.23/edufund-api/Api/loansimulation.php';
var queryParams = {
'periodtime': periodtime,
'interestpermonth': interestpermonth,
'loanamountrequest': loanamountrequest,
};
String queryString = Uri(queryParameters: queryParams).query;
var requestUrl = endpointUrl + '?' + queryString;
var response = await http.get(requestUrl);
final data = jsonDecode(response.body);
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
setState(() {
_loanmodel = LoanModel.fromJson(data[0]) as List<LoanModel>;
loading = false;
});
}
}
But it shows this error:
I/flutter (18921): [{"No":0,"interest":"0.00","balance":"10,000,000.00","principal":"0.00","Installment":"0.00","Status":true},{"No":1,"interest":"100,000.00","balance":"0.00","principal":"10,000,000.00","Installment":"10,100,000.00","Status":true}]
I/flutter (18921): true
E/flutter (18921): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Iterable<dynamic>'
E/flutter (18921): #0 _SimulatorState._fetchData.<anonymous closure> (package:fluttermysql/view/Simulator.dart:44:23)
E/flutter (18921): #1 State.setState (package:flutter/src/widgets/framework.dart:1088:30)
E/flutter (18921): #2 _SimulatorState._fetchData (package:fluttermysql/view/Simulator.dart:43:7)
E/flutter (18921): <asynchronous suspension>
But when I hard code it, it works properly:
API output in postman as JSON:
Simulator function:
static Future<LoanModel> simulators({String periodtime, String interestpermonth, String loanamountrequest, String idUser, String url}) async {
var url = "http://192.168.0.23/edufund-api/Api/loansimulation.php?periodtime=" + periodtime + "&interestpermonth=" + interestpermonth + "&loanamountrequest=" +loanamountrequest;
final response = await http.get(url,headers:{"Content-Type":
"application/json"});
var res = LoanModel.fromJson(jsonDecode(response.body));
print(response.body);
return res;
}
Is something wrong about http get or something else? Because API is working properly.


