GraphQL ======== | GraphQL เป็นภาษาสำหรับการเข้าถึงข้อมูล (Query Language) เพื่อการใช้งาน API ของระบบและจะประมวลผลคำสั่งที่ฝั่ง Server หรือที่เรียกว่า Server-Side Runtime ถูกพัฒนาขึ้นโดย Facebook เพื่อมาช่วยให้ Front-end Developer สามารถเขียน Query ข้อมูลในรูปแบบที่มีความยืดหยุ่นได้มากกว่า ผู้ใช้สามารถกำหนดวิธีที่ต้องการจะดึงข้อมูลและรูปแบบข้อมูลที่ต้องการเองได้เลย โดยที่ Back-end Developer ไม่จำเป็นต้องพัฒนา API ใหม่เพิ่มกรณีที่โครงสร้างข้อมูลยังเหมือนเดิม ซึ่งจะช่วยแก้ปัญหาของ RESTful API ที่เวลาออกแบบ API ไปแล้ว Request และ Response จะต้องเป็นไปตามที่เขียนโปรแกรมไว้ เช่น อาจจะได้ข้อมูลเกินกว่าที่ต้องการ หรือ ได้ข้อมูลไม่ครบตามที่ต้องการ ต้องเรียก API หลายครั้ง เป็นต้น | GraphQL ของ |platform_name| Platform จะเป็น Management API ซึ่งมี Graphcool Playground เป็น Backend as a Service ในการสร้าง GraphQL Backend ใช้สำหรับจัดการกับ Database Schema และ Data ผ่าน Web UI ได้ โดย UI จะมีลักษณะดังรูปต่อไปนี้ | .. image:: _static/gql_UI.png | จากรูปด้านบนจะถูกแบ่งเป็น 4 ส่วน ส่วนที่ 1 ใช้สำหรับระบุ Function ที่ต้องการเรียกใช้ ส่วนที่ 2 ใช้สำหรับระบุตัวแปรที่จะส่งผ่าน HTTP Headers (ในที่นี้จะเป็นตัวแปร Authorization) และส่วนที่ 3 ใช้สำหรับระบุ แสดงผลลัพธ์ที่ตอบกลับมาจากฝั่ง Server โดยเริ่มจากกรอกข้อมูลในส่วนที่ 1 และ 2 (ถ้า Function ที่ใช้งานจำเป็นต้อง Authentication) จากนั้นให้คลิกที่ Play Icon (ส่วนที่ 4) เพื่อ Executed Function สำหรับโครงสร้าง Function | GraphQL เวอร์ชันปัจจุบันจะเป็น V.2 มีการพัฒนาเพิ่มเติมให้มีความสมบูรณ์มากยิ่งขึ้น การเข้าใช้งานสามารถเข้าใช้งานได้ที่ |gql_url2| โดย Function การใช้งานต่างๆ จะแยกเป็น 3 ประเภทใหญ่ ดังนี | .. toctree:: :maxdepth: 2 graphql-v2-query graphql-v2-mutation graphql-v2-subscription