GraphQL - ส่วนประกอบของแอปพลิเคชัน
บทนี้จะกล่าวถึงส่วนประกอบ GraphQL ที่แตกต่างกันและวิธีที่พวกเขาสื่อสารกัน ส่วนประกอบแอปพลิเคชันทั้งหมดสามารถแยกแยะได้ดังนี้ -
- ส่วนประกอบฝั่งเซิร์ฟเวอร์
- ส่วนประกอบฝั่งไคลเอ็นต์
ส่วนประกอบฝั่งเซิร์ฟเวอร์
เซิร์ฟเวอร์ GraphQL สร้างองค์ประกอบหลักที่ฝั่งเซิร์ฟเวอร์และอนุญาตให้แยกวิเคราะห์คำค้นหาที่มาจากแอปพลิเคชันไคลเอนต์ GraphQL Apollo Server เป็นที่นิยมใช้มากที่สุดในการนำข้อกำหนด GraphQL ส่วนประกอบการเขียนโปรแกรมเซิร์ฟเวอร์อื่น ๆ มีดังต่อไปนี้ -
ซีเนียร์ | สิ่งจำเป็นและคำอธิบายของเซิร์ฟเวอร์ |
---|---|
1 | Schema สคีมา GraphQL เป็นศูนย์กลางของการใช้งานเซิร์ฟเวอร์ GraphQL และอธิบายถึงฟังก์ชันการทำงานที่มีให้สำหรับไคลเอนต์ที่เชื่อมต่อ |
2 | Query แบบสอบถาม GraphQL คือคำขอแอปพลิเคชันไคลเอนต์เพื่อดึงข้อมูลจากฐานข้อมูลหรือ API เดิม |
3 | Resolver Resolvers ให้คำแนะนำในการเปลี่ยนการดำเนินการ GraphQL ให้เป็นข้อมูล พวกเขาแก้ไขแบบสอบถามเป็นข้อมูลโดยการกำหนดฟังก์ชันตัวแก้ไข |
ส่วนประกอบฝั่งไคลเอ็นต์
ด้านล่างนี้เป็นส่วนประกอบฝั่งไคลเอ็นต์ -
ซีเนียร์ | เครื่องมือและคำอธิบาย |
---|---|
1 | GraphiQL อินเทอร์เฟซที่ใช้เบราว์เซอร์สำหรับการแก้ไขและทดสอบการสืบค้นและการกลายพันธุ์ของ GraphQL |
2 | ApolloClient เครื่องมือที่ดีที่สุดในการสร้างแอปพลิเคชันไคลเอนต์ GraphQL ทำงานร่วมกันได้ดีกับส่วนหน้าของ Javascript ทั้งหมด |
แผนภาพด้านล่างแสดงไฟล์ Client-Server architecture. เว็บเซิร์ฟเวอร์สร้างขึ้นบน NodeJs และ Express framework มีการร้องขอไปยังเซิร์ฟเวอร์ Apollo GraphQL โดยแอปพลิเคชัน ReactJS (สร้างโดยใช้ไลบรารี Apollo Client) หรือแอปพลิเคชันเบราว์เซอร์ GraphiQL แบบสอบถามจะถูกแยกวิเคราะห์และตรวจสอบความถูกต้องตามสคีมาที่กำหนดไว้ในเซิร์ฟเวอร์ หากสคีมาของคำขอผ่านการตรวจสอบความถูกต้องฟังก์ชันตัวแก้ไขที่เกี่ยวข้องจะถูกดำเนินการ ตัวแก้ไขจะมีรหัสสำหรับดึงข้อมูลจาก API หรือฐานข้อมูล