Flutter Relation to API
Flutter Relation to API
▲▼▲▼▲▼
tags : #coding #flutter
references : API Flutter
▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
▲▼▲▼▲▼
if (response.statusCode == 200) {
List data = jsonDecode(response.body);
print(data);
} else {
print('Failed to fetch data');
}
}
if (response.statusCode == 201) {
print('Data sent successfully');
} else {
print('Failed to send data');
}
}
if (response.statusCode == 200) {
print(jsonDecode(response.body));
} else {
throw Exception('Failed to load data');
}
} catch (e) {
print('Error: $e');
}
}
import 'package:dio/dio.dart';
try {
final response = await
dio.get('https://jsonplaceholder.typicode.com/users');
print(response.data);
} catch (e) {
print('Error: $e');
}
}
class User {
final int id;
final String name;
@override
Widget build(BuildContext context) {
return FutureBuilder<List<User>>(
future: fetchUsers(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
} else if (snapshot.hasError) {
return Center(child: Text('Error: ${snapshot.error}'));
} else {
return ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
return ListTile(title: Text(snapshot.data![index].name));
},
);
}
},
);
}
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';
// Cubit States
abstract class UserState {}
class UserLoading extends UserState {}
class UserLoaded extends UserState {
final List<User> users;
UserLoaded(this.users);
}
class UserError extends UserState {}
// Cubit
class UserCubit extends Cubit<UserState> {
UserCubit() : super(UserLoading());
import 'package:shared_preferences/shared_preferences.dart';
if (response.statusCode == 200) {
print(jsonDecode(response.body));
} else {
print('Unauthorized');
}
}
if (response.statusCode == 200) {
print(jsonDecode(response.body));
}
}
🔥 Final Thoughts
Flutter needs APIs to interact with remote servers.
Use http or dio for fetching and sending data.
Handle errors, caching, and state management properly.
Secure your APIs with authentication.