เชื่อม Serialization เข้ากับ Ktor
ติดตั้ง ContentNegotiation เพื่อถอดรหัสโดยอัตโนมัติ
เชื่อม Serialization เข้ากับ Ktor เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
หยุดแยกวิเคราะห์ด้วยตนเอง
คุณสามารถถอดรหัสการตอบกลับแต่ละรายการด้วยตนเองได้ แต่ Ktor สามารถเชื่อมต่อ การทำให้เป็นอนุกรมให้โดยอัตโนมัติ เพื่อให้คำขอและการตอบกลับกลายเป็นชนิดข้อมูลที่กำหนดไว้
ทำความรู้จัก ContentNegotiation
ปลั๊กอิน ContentNegotiation ช่วยให้ HttpClient แปลงเนื้อหาคำขอและการตอบกลับไปเป็นโมเดลและแปลงกลับได้
เพิ่มส่วนพึ่งพา
ขั้นแรก ให้เพิ่มอาร์ทิแฟกต์ content-negotiation ของ Ktor และโมดูลตัวแปลง JSON ลงใน commonMain
implementation("io.ktor:ktor-client-content-negotiation:2.3.12")เพิ่มตัวเชื่อมต่อ JSON
คุณต้องรวมโมดูล ktor-serialization-kotlinx-json ด้วย ซึ่งเชื่อม Ktor เข้ากับ kotlinx.serialization โดยเฉพาะ
implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.12")ติดตั้งในไคลเอนต์
ภายในตัวสร้าง HttpClient ให้คุณ ติดตั้ง ContentNegotiation และลงทะเบียนตัวแปลง json เพียงครั้งเดียว
install(ContentNegotiation) { json() }กำหนดค่า Json
บล็อก json รับอินสแตนซ์ Json ที่กำหนดค่าแล้ว คุณจึงส่ง ignoreUnknownKeys และการตั้งค่าอื่นที่เกี่ยวข้องได้จากตรงนี้
json(Json { ignoreUnknownKeys = true })ถอดรหัสโดยอัตโนมัติ
ตอนนี้ GET สามารถส่งคืนโมเดลของคุณได้โดยตรง Ktor จะอ่านเนื้อหาและส่งมอบ ออบเจ็กต์ ที่มีชนิดข้อมูลชัดเจนให้ โดยไม่ต้องเรียกการถอดรหัสด้วยตนเอง
val user: User = client.get(url).body()เข้ารหัสเนื้อหาคำขอ
ปลั๊กอินเดียวกันนี้จะแปลงข้อมูลขาออกเป็นอนุกรมด้วย คุณจึงใช้ setBody กับออบเจ็กต์ Kotlin ได้ แล้ว Ktor จะเขียน JSON ให้
post(url) { setBody(user) }กำหนดชนิดเนื้อหา
เมื่อส่งเนื้อหา ให้ระบุ contentType เป็น application/json เพื่อให้เซิร์ฟเวอร์อ่านข้อมูลได้ถูกต้อง
contentType(ContentType.Application.Json)ตั้งค่าครั้งเดียว ใช้ได้ทั้งสองแอป
เนื่องจากทั้งหมดอยู่ใน commonMain Android และ iOS จึงใช้ การสื่อสารเครือข่ายแบบมีชนิดข้อมูลเดียวกัน โดยไม่ต้องเขียนโค้ดซ้ำ
สะอาดตั้งแต่ต้นจนจบ
Ktor ร่วมกับการทำให้เป็นอนุกรมมอบ กระบวนการทำงานที่เป็นระเบียบให้คุณ: เรียกปลายทาง รับโมเดล ส่งโมเดล และปลอดภัยด้านชนิดข้อมูลบนทุกแพลตฟอร์ม
ตรวจสอบอย่างรวดเร็ว
ปลั๊กอิน Ktor ใดที่เปิดใช้การถอดรหัส JSON ของการตอบกลับโดยอัตโนมัติ
ทบทวน
ติดตั้ง ContentNegotiation พร้อม json() ใน HttpClient เพื่อให้ Ktor เข้ารหัสเนื้อหาคำขอและถอดรหัสการตอบกลับเป็นโมเดลที่มีชนิดข้อมูลชัดเจนโดยอัตโนมัติในทั้งสองแอป
เรียนรู้ Kotlin ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “เชื่อม Serialization เข้ากับ Ktor” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เชื่อม Serialization เข้ากับ Ktor” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เชื่อม Serialization เข้ากับ Ktor”
ติดตั้ง ContentNegotiation เพื่อถอดรหัสโดยอัตโนมัติ คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “เชื่อม Serialization เข้ากับ Ktor” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โมเดลข้อมูล @Serializable
- @SerialName และการจับคู่ฟิลด์แบบกำหนดเอง
- ฟิลด์ที่เป็นค่า null ค่าเริ่มต้น และฟิลด์เสริม
- เชื่อม Serialization เข้ากับ Ktor