上門編程教學課程內容
課程簡介
本課程專為希望快速理解與應用 GraphQL 的學員設計,以實作為導向,在三小時內全面掌握 GraphQL 的設計原理、查詢語法、資料結構與伺服端整合。
GraphQL 是由 Facebook(Meta)開發的現代化 API 查詢語言,能以高效率和靈活性取代傳統 REST API。透過單一端點、明確結構化查詢與自定義資料輸出,讓 Web 與行動應用開發更高效、穩定且易於維護。
課程將以清晰範例帶領學員從理論理解到實務操作:建立伺服端 schema、撰寫查詢與 mutation、整合前端資料取得流程,最終打造可運作的 GraphQL API 專案。
適合對象:
-
前端開發者(React / Vue / Next.js)
-
全端與後端工程師(Node.js / Python / NestJS)
-
API 設計與雲端服務開發者
-
想學習 REST API 以外現代資料傳輸技術的學員
學習成果:
-
理解 GraphQL 的結構、用途與與 REST API 的差異
-
建立查詢(Query)與操作(Mutation)的邏輯
-
能撰寫 Schema、Resolver 並串接伺服端資料
-
熟悉 GraphQL Playground 操作與 API 測試方式
-
可應用於前端資料請求優化與後端 API 設計
課程時長
3 小時(180 分鐘)
理論與實作比例約 3 : 7
課程大綱
第一部份:GraphQL 基礎概念與環境準備(30 分鐘)
-
GraphQL 的誕生背景與應用場景
-
GraphQL vs REST API 架構比較
-
核心概念:Query、Mutation、Subscription、Schema、Resolver
-
GraphQL 開發環境工具:Apollo Server / GraphQL Yoga / Insomnia / Playground
-
實作:建立第一個 GraphQL API 專案(Node.js + Apollo Server)
第二部份:Schema 與資料結構設計(40 分鐘)
-
類型(Type)、欄位(Field)、查詢(Query Type)的定義
-
物件類型(Object Type)、標量類型(Scalar Type)與自定義類型
-
Input Type 輸入結構與 Enum(枚舉)
-
關聯資料型態(Nested Type、List Type)設計
-
實作:建立「使用者與貼文(User & Post)」資料結構
第三部份:查詢(Query)與操作(Mutation)語法(40 分鐘)
第四部份:伺服端與資料整合(40 分鐘)
-
GraphQL 結合資料庫(以 SQLite / MongoDB 範例示範)
-
處理非同步請求與錯誤管理(async / await)
-
N+1 問題說明與 DataLoader 解決方式
-
驗證與授權(Authentication & Authorization)
-
實作練習:整合使用者登入驗證的 GraphQL 服務
第五部份:前端整合與延伸應用(30 分鐘)
-
GraphQL 用戶端:Apollo Client / URQL 概述
-
前端查詢與狀態管理(React / Next.js 結合示範)
-
Subscription 實時資料更新(WebSocket)
-
API 文件自動生成與 Playground 測試
-
延伸學習方向:GraphQL Federation、Serverless GraphQL、Edge API
課程特色