I'm trying to load json data using HTTP Get Request but it doesn't sho any thing and doesn't even display the list. It's the first time I use the API and I'm not really understand how it works, please give me some instructions to understand and work with it. I just follow this tutorial https://www.youtube.com/watch?v=aIJU68Phi1w
MyHomePage.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:http/http.dart' as http;
import 'dart:convert';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final String url = "http://127.0.0.1:8000/api/membres";
List data;
@override
void initState() {
super.initState();
this.getJsonData();
}
Future<String> getJsonData() async {
var response = await http
.get(Uri.encodeFull(url), headers: {"Accept": "application/json"});
print(response.body);
setState(() {
var convertDataToJson = json.decode(response.body);
data = convertDataToJson['results'];
});
return "Success";
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: Text('Membres'),
),
body: new ListView.builder(
itemCount: data == null ? 0 : data.length,
padding: const EdgeInsets.all(4.0),
itemBuilder: (BuildContext context, int index) {
return new Container(
child: new Center(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Card(
child: new Container(
child: new Text(data[index]['nom']),
padding: const EdgeInsets.all(20.0),
),
)
],
),
),
);
}));
}
}