import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'models/PostsModel.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { List postList = []; Future> getPostApi() async { final response = await http .get(Uri.parse("https://jsonplaceholder.typicode.com/posts/")); var data = jsonDecode(response.body.toString()); if (response.statusCode == 200) { for (Map i in data) { postList.add(PostsModel.fromJson(i)); } return postList; } else { return postList; } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text("API Course"), ), body: Column(children: [ FutureBuilder( future: getPostApi(), builder: (context, snapshot) { if (!snapshot.hasData) { return const Text("loading"); } else { return ListView.builder( itemCount: postList.length, itemBuilder: (context, index) { return Text(index.toString()); }); } }) ])); } }