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 จะมี Graphcool Playground เป็น Backend as a Service ในการสร้าง GraphQL backend โดยที่สามารถจัดการกับ Database Schema และ Data ผ่าน Web UI ได้ สามารถเข้าใช้งานได้ที่ |gql_url| โดยจะมีลักษณะดังรูปต่อไปนี้ | .. image:: _static/gql_UI.png | จากรูปด้านบนจะถูกแบ่งเป็น 3 ส่วน ส่วนบนซ้าย ใช้สำหรับระบุ Function ที่ต้องการเรียกใช้, ส่วนล่างซ้าย ใช้สำหรับระบุตัวแปรที่จะส่งผ่าน HTTP Headers (ในที่นี้จะเป็นตัวแปร Authorization) และส่วนบนขวา ใช้สำหรับระบุ แสดงผลลัพธ์ที่ตอบกลับมาจากฝั่ง Server โดยเริ่มจากกรอกข้อมูลในส่วนบนซ้าย และล่างซ้าย(ถ้า Function ที่ใช้งานจำเป็นต้อง Authentication) จากนั้นให้คลิกที่ Play Icon เพื่อ Executed Function สำหรับโครงสร้าง Function และข้อมูลที่กำหนดไว้สามารถแยกได้เป็น 2 ประเภท ดังนี้ | .. toctree:: :maxdepth: 2 graphql-query graphql-mutation