Http Requests Flutter
Http requests adalah cara aplikasi Flutter berkomunikasi dengan server web untuk mengambil atau mengirim data. Flutter menyediakan beberapa cara untuk membuat http requests, yang dapat Anda pilih berdasarkan kebutuhan aplikasi Anda.
Paket http
- Paket
http
adalah paket yang paling umum digunakan untuk membuat http requests di Flutter. - Paket ini menyediakan fungsi untuk membuat berbagai jenis http requests, seperti
GET
,POST
,PUT
, danDELETE
. - Tambahkan paket
http
kepubspec.yaml
Anda:
YAML
dependencies:
http: ^latest_version
Contoh Http Request GET
Dart
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<void> fetchData() async {
final response = await http.get(Uri.parse('https://api.example.com/data'));
if (response.statusCode == 200) {
// Permintaan berhasil
final data = json.decode(response.body);
print(data);
} else {
// Permintaan gagal
print('Gagal mengambil data: ${response.statusCode}');
}
}
- Kode ini membuat permintaan GET ke URL https://api.example.com/data.
- Jika permintaan berhasil (kode status 200), data akan diuraikan dari respons JSON dan dicetak ke konsol.
Contoh Http Request POST
Dart
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<void> postData(Map<String, dynamic> data) async {
final response = await http.post(
Uri.parse('https://api.example.com/data'),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(data),
);
if (response.statusCode == 201) {
// Permintaan berhasil (data dibuat)
print('Data berhasil dikirim');
} else {
// Permintaan gagal
print('Gagal mengirim data: ${response.statusCode}');
}
}
- Kode ini membuat permintaan
POST
ke URLhttps://api.example.com/data dengan data
JSON di body permintaan. - Header
Content-Type
diatur keapplication/json
untuk memberi tahu server bahwa data yang dikirim adalah JSON.
Penanganan Error
- Penting untuk menangani error yang mungkin terjadi saat membuat http requests.
- Anda dapat memeriksa kode status respons untuk menentukan apakah permintaan berhasil atau gagal.
- Anda juga dapat menggunakan blok
try-catch
untuk menangkap pengecualian yang mungkin terjadi.
Paket dio
- Paket
dio
adalah alternatif lain untuk membuat http requests di Flutter. - Paket ini menyediakan fitur yang lebih canggih, seperti interceptor, transformasi data, dan penanganan error yang lebih baik.
- Tambahkan paket
dio
kepubspec.yaml
Anda:
YAML
dependencies:
dio: ^latest_version
Tips Http Requests
- Gunakan HTTPS untuk mengamankan komunikasi dengan server.
- Tangani error dengan benar untuk memberikan pengalaman pengguna yang baik.
- Gunakan caching untuk menyimpan respons dari server dan mengurangi jumlah http requests.
- Pertimbangkan untuk menggunakan paket
dio
untuk fitur yang lebih canggih. - Selalu validasi data yang diterima dari server.
Dengan pemahaman yang baik tentang http requests, Anda dapat membuat aplikasi Flutter yang dapat berkomunikasi dengan server web dan mengambil atau mengirim data.