Kotlin Multiplatform Academy · Pelajaran

Membungkus API di Balik Repositori

Sembunyikan Ktor dan serialisasi dari pemanggil

Pelajaran 2 dari 413 langkah

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 : UserRepository

Masukkan 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) : UserRepository

Sembunyikan 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.

Gratis untuk memulai

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

  1. Mendefinisikan Antarmuka Repositori
  2. Membungkus API di Balik Repositori
  3. Memetakan DTO ke Model Domain
  4. Membuka Hasil sebagai Flow
← Kembali ke Kotlin Multiplatform Academy