Memetakan DTO ke Model Domain
Pisahkan bentuk jaringan dari tipe domain Anda
Memetakan DTO ke Model Domain adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Dua Jenis Model
Aplikasi Anda sebenarnya memiliki dua bentuk data: DTO mentah dari API dan model domain bersih yang dibutuhkan kode Anda.
Apa Itu DTO
DTO, atau objek transfer data, mencerminkan JSON secara persis, bahkan ketika nama field-nya tidak rapi atau sulit digunakan.
@Serializable
data class UserDto(val user_name: String, val avatar_url: String?)Mengapa Tidak Langsung Menggunakan DTO
Jika seluruh aplikasi menggunakan DTO, perubahan kecil pada API akan menyebar ke berbagai tempat. Model domain melindungi Anda dari hal itu.
Model Domain
Model domain dibentuk untuk kode Anda: nama yang baik, tanpa data nullable yang tidak perlu, dan hanya field yang dibutuhkan UI.
data class User(val name: String, val avatar: String)Petakan dalam Satu Fungsi
Tulis fungsi pemetaan kecil yang mengubah DTO menjadi model domain, semuanya di satu tempat yang rapi dan mudah diuji.
fun UserDto.toDomain() = User(name = user_name, avatar = avatar_url ?: "")Tangani Null saat Memetakan
Pemetaan adalah tempat yang tepat untuk menerapkan defaults, sehingga field JSON yang hilang atau null tidak pernah merusak bagian aplikasi lainnya.
Petakan List Juga
Untuk respons berupa list, panggil map pada koleksi tersebut untuk mengubah setiap DTO menjadi item domain sekaligus.
fun List<UserDto>.toDomain() = map { it.toDomain() }Lakukan di Repository
Repository mengambil DTO, lalu memetakannya ke model domain, sehingga pemanggil hanya pernah melihat tipe yang bersih.
override suspend fun getUsers() =
client.get(url).body<List<UserDto>>().toDomain()DTO Tetap Internal
Jaga agar class DTO tetap internal di lapisan data. Tidak ada bagian di luar repository yang boleh mengimpornya.
Terpisah dan Aman
Sekarang API dapat mengganti nama field dan Anda hanya perlu memperbaiki mapper, sementara model domain dan UI tetap aman.
Lapisan Pemetaan
Inilah batas tersebut dalam praktik: DTO masuk, mapper berjalan, lalu model domain yang bersih keluar.
val dto: UserDto = client.get(url).body()
val user: User = dto.toDomain()Pemeriksaan Singkat
Mengapa DTO dipetakan ke model domain yang terpisah?
Ringkasan
DTO mencerminkan JSON mentah dan tetap berada di lapisan data, sedangkan fungsi pemetaan mengubahnya menjadi model domain bersih yang digunakan bagian aplikasi lainnya.
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 “Memetakan DTO ke Model Domain” gratis?
Ya — teks lengkap “Memetakan DTO ke Model Domain” 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 “Memetakan DTO ke Model Domain”?
Pisahkan bentuk jaringan dari tipe domain Anda 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 3 dari 4.
Berapa lama pelajaran “Memetakan DTO ke Model Domain” 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