Pada proyek frontend yang mulai kompleks, masalahnya jarang hanya soal menampilkan data. Biasanya UI harus menggabungkan data dari beberapa service, menormalisasi bentuk respons, menerapkan otorisasi per pengguna, mengurangi overfetching, dan menjaga kontrak data tetap konsisten di seluruh halaman. Di titik ini, pola Backend for Frontend (BFF) menjadi sangat berguna.

Artikel ini membahas pendekatan Nuxt 3 + GraphQL Yoga untuk membangun BFF yang type-safe, terutama ketika Nuxt dipakai bukan hanya sebagai UI, tetapi juga sebagai gateway ke beberapa REST service internal atau eksternal. Kita akan membahas arsitektur, desain schema, resolver, context auth, error handling, batching, caching, composable untuk query/mutation, strategi code generation TypeScript, serta kapan GraphQL lebih tepat dibanding REST pada proyek Nuxt yang kompleks.