實體編程教學課程內容
課程簡介
本課程為三小時密集入門課程,專為希望掌握 現代 API 開發技術 的初學者及 Web 開發人員設計。GraphQL 是由 Facebook(Meta)開發的資料查詢語言與 API 執行框架,能提供比傳統 REST API 更高效、靈活的資料傳遞方式。
課程將透過 理論講解 + 實作練習,帶領學員理解 GraphQL 的架構原理、查詢語法(Query / Mutation)與伺服器端設計實務。學員將使用 Node.js + Apollo Server 或 GraphQL Playground 進行範例操作,學會定義 Schema、撰寫查詢與回傳資料。完成後,學員將能自行設計與呼叫簡單的 GraphQL API,為後續整合前端 React、Next.js 或後端微服務應用打下基礎。
課程目標
-
理解 GraphQL 的設計理念與與 REST 架構的差異。
-
掌握 GraphQL 查詢(Query)、修改(Mutation)與訂閱(Subscription)的基本概念。
-
學會建立與執行簡易的 GraphQL 伺服器。
-
能設計 Schema、Resolver 並實作 API 呼叫。
-
為進階課程(如 Apollo、Next.js、GraphQL API 整合)建立實務基礎。
授課對象
課程時長與授課方式
課程大綱
第一部分:GraphQL 概念與架構認識(約 40 分鐘)
-
GraphQL 的起源與核心特點。
-
GraphQL vs REST:資料傳輸與查詢效率比較。
-
GraphQL 的三大核心元件:Schema、Query、Resolver。
-
GraphQL 開發工具介紹(Apollo、GraphQL Playground、Postman)。
-
實作練習:連線至公開 GraphQL API(例如 GitHub API)進行資料查詢。
第二部分:語法結構與基本操作(約 60 分鐘)
第三部分:伺服器端開發與請求處理(約 45 分鐘)
-
使用 Node.js 設定 Apollo Server。
-
撰寫 Resolver 處理資料邏輯。
-
整合假資料(Mock Data)或讀取 JSON 檔案。
-
處理錯誤與基本驗證。
-
實作練習:建立可查詢與新增使用者的 GraphQL API。
第四部分:延伸應用與實例練習(約 35 分鐘)
-
Subscription 與即時資料(Realtime Data)簡介。
-
結合前端使用 Apollo Client 驗證查詢資料。
-
GraphQL 文件化與測試技巧(GraphiQL / Voyager)。
-
延伸應用:GraphQL 與 REST API 混合架構、Headless CMS(如 Hasura、Strapi)。
-
實作挑戰:擴充現有範例以支援查詢特定條件資料。
課程特色