Я пишу приложение flutter, используя node js и mongoDb в бэкенде. Я хочу сделать запрос на получение, он работает, сервер отправляет данные, но когда Я пытаюсь отобразить данные, которые я не нашел, в моментальном снимке нет данных, которые указаны в базе данных робота 3T
/* 1 */
{
"_id" : ObjectId("5e7c996fd6eb5f039c50bd26"),
"imei" : "865566048694354",
"createdAt" : ISODate("2020-03-26T12:00:47.021Z"),
"updatedAt" : ISODate("2020-03-26T12:00:47.021Z"),
"__v" : 0
}
/* 2 */
{
"_id" : ObjectId("5ea8357d8c562b3dd8fe5bf1"),
"imei" : {
"test" : {
"tactileState" : "ignore",
"pixelState" : "ignore"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T13:54:05.094Z"),
"updatedAt" : ISODate("2020-04-28T13:54:05.094Z"),
"__v" : 0
}
/* 3 */
{
"_id" : ObjectId("5ea8366741a5e527446744a2"),
"imei" : {
"test" : {
"tactileState" : "ignore",
"pixelState" : "ignore"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T13:57:59.035Z"),
"updatedAt" : ISODate("2020-04-28T13:57:59.035Z"),
"__v" : 0
}
/* 4 */
{
"_id" : ObjectId("5ea837614cf7ed30f0163c38"),
"imei" : {
"test" : {
"tactileState" : "ignore",
"pixelState" : "ignore",
"greyState" : "ignore"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:02:09.395Z"),
"updatedAt" : ISODate("2020-04-28T14:02:09.395Z"),
"__v" : 0
}
/* 5 */
{
"_id" : ObjectId("5ea837854cf7ed30f0163c39"),
"imei" : {
"test" : {
"bafleState" : "1",
"microState" : "1",
"vibreurState" : "1"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:02:45.287Z"),
"updatedAt" : ISODate("2020-04-28T14:02:45.287Z"),
"__v" : 0
}
/* 6 */
{
"_id" : ObjectId("5ea8379a4cf7ed30f0163c3a"),
"imei" : {
"test" : {
"bafleState" : "ignore",
"microState" : "ignore",
"vibreurState" : "ignore"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:03:06.156Z"),
"updatedAt" : ISODate("2020-04-28T14:03:06.156Z"),
"__v" : 0
}
/* 7 */
{
"_id" : ObjectId("5ea837ad4cf7ed30f0163c3b"),
"imei" : {
"test" : {
"boutonState" : "1"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:03:25.212Z"),
"updatedAt" : ISODate("2020-04-28T14:03:25.212Z"),
"__v" : 0
}
/* 8 */
{
"_id" : ObjectId("5ea838d04cf7ed30f0163c3c"),
"imei" : {
"test" : {
"boutonState" : "1",
"kitState" : "ignore",
"usbState" : "1",
"batterieState" : "0"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:08:16.383Z"),
"updatedAt" : ISODate("2020-04-28T14:08:16.383Z"),
"__v" : 0
}
/* 9 */
{
"_id" : ObjectId("5ea8393c4cf7ed30f0163c3d"),
"imei" : {
"test" : {
"boutonState" : "1",
"kitState" : "ignore",
"usbState" : "1",
"batterieState" : "Good"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:10:04.519Z"),
"updatedAt" : ISODate("2020-04-28T14:10:04.519Z"),
"__v" : 0
}
/* 10 */
{
"_id" : ObjectId("5ea839754cf7ed30f0163c3e"),
"imei" : {
"test" : {
"wifiState" : "0",
"gpsState" : "0"
},
"name" : "h12hhhhgkhh"
},
"createdAt" : ISODate("2020-04-28T14:11:01.631Z"),
"updatedAt" : ISODate("2020-04-28T14:11:01.631Z"),
"__v" : 0
}
, и это класс, который я использую для анализа json данных
class Phone{
Imei imei;
Test test;
Phone({this.test,this.imei});
factory Phone.fromJson(Map<String,dynamic>json){
return Phone(
test: Test.fromJson(json ['test']),
imei: Imei.fromJson(json ['imei']),);
}
}
class Test {
String batterieState;
String wifiState;
String pixelState;
String bluetoothState;
String gpsState;
String tactileState;
String bafleState;
String microState;
String vibreurState;
String camerafrontState;
String camerabackState;
String boutonState;
String usbState;
String kitState;
String geroscopeState;
String empreinteState;
String captState;
String greyState;
String proximiteState;
String lumiereState;
Test({this.lumiereState,this.proximiteState,this.bluetoothState,this.batterieState,this.usbState,this.kitState,this.greyState,this.bafleState,this.boutonState,this.camerabackState,this.camerafrontState,this.captState,this.empreinteState,this.geroscopeState,this.gpsState,this.microState,this.pixelState,this.tactileState,this.vibreurState,this.wifiState});
factory Test.fromJson(Map<String,dynamic>json){
return Test(
lumiereState: json ['lumiereState'],
proximiteState: json ['proximiteState'],
boutonState: json ['boutonState'],
bluetoothState: json ['bluetoothState'],
bafleState: json ['bafleState'],
batterieState: json ['batterieState'],
vibreurState: json ['vibreurState'],
camerabackState: json ['camerabackState'],
empreinteState: json ['empreinteState'],
usbState: json ['usbState'],
camerafrontState: json ['camerafrontState'],
wifiState: json ['wifiState'],
tactileState: json ['tactileState'],
pixelState: json ['pixelState'],
microState: json ['microState'],
gpsState: json ['gpsState'],
geroscopeState: json ['geroscopeState'],
captState: json ['captState'],
greyState: json ['greyState'],
kitState: json ['kitState'],
);
}
}
class Imei {
String name;
Imei({this.name});
factory Imei.fromJson(Map<String, dynamic>json){
return Imei(
name: json ['name'],
);
}
}
Это метод получения запроса во флаттере
Future <List<Phone>> getData() async{
final response = await http.get('http://192.168.43.24:27017/api/posts');
if(response.statusCode==200){
List phones =json.decode(response.body);
return phones.map((phone)=>new Phone.fromJson(
phone)).toList();
}
else {
throw Exception('Failed to load Users');
}
}
когда я проверяю сервер, я обнаружил, что метод работает, и сервер отправляет данные, и это метод отображения данных в приложении
@override
Widget build(BuildContext context) {
return MaterialApp(
home:Scaffold(
appBar: AppBar(
title: Text('Mes Smartphones'),
),
body: Center(
child: FutureBuilder<List<Phone>>(
future: getData(),
builder: (context,snapshot){
if(snapshot.hasData){
List<Phone> phones =snapshot.data;
return new ListView(
children:phones.map((phone) =>Column(
children: <Widget>[
ListTile(
subtitle: Text('bonjour${phone.imei.name}'),
),
],
)).toList(),
);
}
else if(snapshot.hasError){
return Column(children: <Widget>[
Text(snapshot.toString()),
Text(snapshot.hasData.toString()),
Text(snapshot.error.toString())]);
}
return new CircularProgressIndicator();
},
в моментальном снимке всегда нет данных, я ищу помощь и благодарю вас
и это скриншот того, что он возвращает