Membungkus API di Balik Repositori
Sembunyikan Ktor dan serialisasi dari pemanggil
Membungkus API di Balik Repositori adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.
Sekarang Bangun Implementasi Nyata
Setelah interface siap, Anda menulis implementasi konkret yang benar-benar mengambil data di balik layar.
Implementasikan Interface
Buat class yang mengimplementasikan interface repository, dengan menjamin pemenuhan setiap method yang dideklarasikannya.
class UserRepositoryImpl : UserRepositoryMasukkan Client Ktor
Teruskan HttpClient ke konstruktor, bukan membuatnya di dalam class, agar dapat digunakan bersama dan diganti saat pengujian.
class UserRepositoryImpl(private val client: HttpClient) : UserRepositorySembunyikan Panggilan Jaringan
Di dalam setiap method, buat permintaan Ktor dan kembalikan hasilnya. Pemanggil hanya melihat data yang bersih, bukan permintaan itu sendiri.
override suspend fun getUsers() = client.get(url).body<List<User>>()Simpan URL di Dalam Implementasi
Simpan URL dasar dan path di dalam implementasi. Bagian aplikasi lainnya tidak perlu mengetahui adanya endpoint.
Satu Tempat untuk Diubah
Jika path API berubah, Anda hanya perlu mengedit class ini. Interface dan setiap pemanggil tetap tidak tersentuh.
Serialization Tetap Tersembunyi
Panggilan body mengubah JSON menjadi model di sini, sehingga serialization tidak pernah bocor ke lapisan UI.
val user: User = client.get(url).body()Kode Sama, Dua Aplikasi
Implementasi ini berada di commonMain, sehingga kode pengambilan data yang sama menggerakkan Android dan iOS secara identik.
Tukar Tanpa Mengubah Pemanggil
Karena memenuhi interface, Anda dapat menggantinya dengan versi yang menggunakan cache nanti tanpa perubahan pada pemanggil.
Hubungkan dengan DI
Penyiapan injeksi dependensi memberikan implementasi ini kepada pemanggil melalui tipe interface, sehingga keterkaitannya tetap longgar.
single<UserRepository> { UserRepositoryImpl(get()) }Pembungkus Lengkap
Berikut wrapper lengkapnya: menerima client, menyembunyikan permintaan, dan mengembalikan model domain biasa.
class UserRepositoryImpl(
private val client: HttpClient
) : UserRepository {
override suspend fun getUsers() =
client.get("/users").body<List<User>>()
}Pemeriksaan Singkat
Apa tugas utama implementasi repository?
Ringkasan
Implementasi menerima HttpClient, menjalankan permintaan, dan mengembalikan model domain, sehingga seluruh jaringan tertutup dari pemanggil.
Belajar Kotlin dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membungkus API di Balik Repositori” gratis?
Ya — teks lengkap “Membungkus API di Balik Repositori” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Multiplatform Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membungkus API di Balik Repositori”?
Sembunyikan Ktor dan serialisasi dari pemanggil Kamu berlatih Kotlin Multiplatform Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kotlin Multiplatform Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Membungkus API di Balik Repositori” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Multiplatform Academy ini?
Ya. Setiap pelajaran Kotlin Multiplatform Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mendefinisikan Antarmuka Repositori
- Membungkus API di Balik Repositori
- Memetakan DTO ke Model Domain
- Membuka Hasil sebagai Flow