Laravel + Flutter REST API
Pola integrasi Laravel sebagai backend dan Flutter sebagai aplikasi mobile, termasuk autentikasi dan penanganan error.
Kombinasi Laravel sebagai backend dan Flutter sebagai aplikasi mobile cukup sering dipakai karena keduanya memiliki ekosistem yang matang dan mudah dirawat.
Menentukan Kontrak Data
Sebelum menulis kode, sepakati dulu bentuk response. Bungkus data dalam satu struktur tetap agar sisi Flutter tidak perlu menebak bentuk JSON pada tiap endpoint.
{
"data": { "id": 1, "name": "Andri" },
"message": "OK"
}
Autentikasi Token
Setelah login berhasil, backend mengirim token yang disimpan di penyimpanan aman pada perangkat. Token tersebut dikirim kembali melalui header Authorization pada setiap permintaan.
Menangani Error di Flutter
Bedakan error jaringan, error validasi, dan error server. Validasi 422 sebaiknya ditampilkan langsung di bawah field terkait, bukan sebagai dialog umum.
if (response.statusCode == 422) {
final errors = jsonDecode(response.body)['errors'];
// tampilkan pada masing-masing field
}
Catatan Performa
Kurangi jumlah permintaan dengan menggabungkan data yang selalu dibutuhkan bersamaan, dan gunakan pagination untuk daftar panjang agar aplikasi tetap ringan.