ระบบต้องป้องกันคำขอจำนวนมากและการใช้ทรัพยากรเกินขอบเขต จึงพิจารณาว่า บริษัทต้องการเลือกระหว่าง GraphQL และ REST API สำหรับเว็บแอปพลิเคชันที่มี Client หลายแบบ (Mobile, Web, Third-party) แต่ละแบบต้องการข้อมูลแตกต่างกัน ข้อใดอธิบายข้อได้เปรียบของ GraphQL ในกรณีนี้
กGraphQL ไม่ต้องใช้ Authentication เพราะมี Schema Validation
ขGraphQL ปลอดภัยกว่า REST เพราะเข้ารหัสข้อมูลโดยอัตโนมัติ
คGraphQL ให้ Client กำหนดโครงสร้างข้อมูลที่ต้องการเองได้ ลดปัญหา Over-fetching และ Under-fetching
งGraphQL ทำงานเร็วกว่า REST ในทุกกรณีเนื่องจาก Protocol ที่ดีกว่า
เฉลยอธิบาย
GraphQL ให้ Client ระบุ Field ที่ต้องการใน Query เองได้ แก้ปัญหา Over-fetching (ได้ข้อมูลมากเกินต้องการ) และ Under-fetching (ต้องเรียก API หลายครั้ง) ซึ่งเป็นข้อได้เปรียบเมื่อมี Client หลายแบบ ส่วน A GraphQL ไม่ได้เร็วกว่าเสมอ บาง Use Case ช้ากว่า, C GraphQL ไม่เกี่ยวกับ Encryption, D GraphQL ยังต้องการ Authentication