คำขอ GET แรกของคุณ
ดึง JSON จาก API ในโค้ด shared
คำขอ GET แรกของคุณ เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
ดึงข้อมูลจากโค้ดที่ใช้ร่วมกัน
เมื่อเตรียมไคลเอนต์พร้อมแล้ว ตอนนี้คุณสามารถส่ง คำขอ GET แรกจาก commonMain และนำไปใช้ซ้ำในแอปทั้งสองได้ 🚀
การเรียกเครือข่ายเป็นแบบ Suspend
คำขอ Ktor ทุกคำขอเป็นฟังก์ชันแบบ suspend จึงไม่บล็อกเธรด และทำงานร่วมกับโครูทีนได้อย่างเป็นธรรมชาติ
suspend fun load() { /* request here */ }เรียก get ด้วย URL
คำขอที่ง่ายที่สุดคือส่งสตริง URL ให้กับ client.get ซึ่งจะส่งคืน HttpResponse ที่คุณสามารถอ่านข้อมูลได้
val response = client.get("https://api.example.com/users")อ่านรหัสสถานะ
ตรวจสอบว่าการเรียกสำเร็จหรือไม่ด้วยการอ่าน response.status ก่อนที่จะเชื่อถือข้อมูลในเนื้อหาคำขอ
if (response.status.value == 200) { /* ok */ }อ่านเนื้อหาเป็นข้อความ
หากต้องการอ่านข้อมูลที่ส่งกลับมา ให้เรียก bodyAsText ซึ่งเป็นการดำเนินการแบบ suspend และส่งคืนการตอบกลับดิบเป็น String
val json: String = response.bodyAsText()เนื้อหาที่มีชนิดข้อมูลอ่านง่ายกว่า
Ktor สามารถดีซีเรียลไลซ์ข้อมูลเข้าเป็นชนิดข้อมูลโดยตรงด้วย body ทำให้คุณไม่ต้องแยกวิเคราะห์ข้อความด้วยตนเองในภายหลัง
val users: List<User> = response.body()GET ในบรรทัดเดียว
คุณยังสามารถข้ามออบเจ็กต์การตอบกลับทั้งหมด และให้ get ส่งคืนผลลัพธ์ที่มีชนิดข้อมูลในนิพจน์เดียวได้
val users: List<User> = client.get(url).body()ห่อหุ้มไว้ในฟังก์ชัน
ใส่การเรียกไว้ใน ฟังก์ชัน suspend ที่เป็นระเบียบ เพื่อให้แอปทั้งสองใช้ตรรกะการดึงข้อมูลเดียวกันได้อย่างแท้จริง
suspend fun fetchUsers() = client.get(url).body<List<User>>()เรียกใช้จากขอบเขต
เนื่องจากการเรียกเป็นแบบ suspend คุณจึงต้องเริ่มการทำงานภายใน ขอบเขตโครูทีน แทนการเรียกจากโค้ดแบบทำงานพร้อมกันตามปกติ
scope.launch { val users = fetchUsers() }ทำงานได้ในทั้งสองแอป
ตอนนี้ฟังก์ชันเดียวนี้ทำงานได้ทั้งบน Android และ iOS โดยไม่ต้องเปลี่ยนแปลง เพราะความแตกต่างของกลไกอยู่ต่ำกว่าชั้น API
เก็บการเรียกไว้ในคลังข้อมูล
สำหรับแอปจริง ให้ซ่อนการเรียก get ดิบไว้ภายใน คลังข้อมูล เพื่อไม่ให้ส่วนติดต่อผู้ใช้เข้าถึง Ktor โดยตรง
ตรวจสอบความเข้าใจ
คุณจะอ่านข้อมูลดิบที่ส่งกลับมาเป็น String ได้อย่างไร
สรุป
คำขอ GET เป็นการเรียกแบบ suspend: ขอ URL ตรวจสอบสถานะ แล้วอ่านเนื้อหาเป็นข้อความหรือออบเจ็กต์ที่มีชนิดข้อมูล ฟังก์ชันเดียวรองรับแอปทั้งสอง
เรียนรู้ Kotlin ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “คำขอ GET แรกของคุณ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คำขอ GET แรกของคุณ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คำขอ GET แรกของคุณ”
ดึง JSON จาก API ในโค้ด shared คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “คำขอ GET แรกของคุณ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เพิ่ม Ktor และเลือกเอนจินตามแพลตฟอร์ม
- คำขอ GET แรกของคุณ
- POST, เฮดเดอร์ และพารามิเตอร์คิวรี
- การหมดเวลา การบันทึก日志 และ URL พื้นฐาน