คืออะไร GraphQL
ภาษาคิวรีสำหรับ API
GraphQL คือภาษาคิวรีและรันไทม์สำหรับ API ที่ช่วยให้ไคลเอนต์ร้องขอเฉพาะข้อมูลที่ต้องการ
แนวคิดหลัก
- Schema — คำอธิบายประเภทข้อมูลและการดำเนินการ
- Queries — การอ่านข้อมูล
- Mutations — การแก้ไขข้อมูล
- Subscriptions — การอัปเดตแบบเรียลไทม์
ข้อดีเมื่อเทียบกับ REST
- ความยืดหยุ่น — ไคลเอนต์กำหนดโครงสร้างการตอบกลับ
- Endpoint เดียว — แทนที่ REST endpoints หลายตัว
- ไม่มี over-fetching — รับเฉพาะฟิลด์ที่ร้องขอ
- Type safety — schema ที่เข้มงวดพร้อม validation
ตัวอย่างคิวรี
query {
user(id: "1") {
name
email
posts {
title
}
}
}
เมื่อไหร่ควรใช้
เหมาะสำหรับแอปพลิเคชันที่มีไคลเอนต์หลายประเภท (web, mobile) ความสัมพันธ์ข้อมูลซับซ้อน และข้อกำหนดด้านประสิทธิภาพ