GraphQL 專門拿來做 API 的 查詢語言(Query Language)
- 詳見:GraphQL | A query language for your API
- GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
GraphQL:專門用來當 API 的 Query Language
GraphQL 從官網看到的時候,並不覺得有多麼容易懂,下述範例取自官網:
描述資料(Describe your data)
type Project { name: String tagline: String contributors: [User] }
API 問需要的資料(Ask for what you want)
{ project(name: "GraphQL") { tagline } }
取得結果(Get predictable results)
{ "project": { "tagline": "A query language for APIs" } }
主要的優點目前在官網看到下述幾點:
- Ask for what you need, get exactly that
- Get many resources in a single request
- Evolve your API without versions
- Bring your own data and code
GraphQL 有 IDE 可以使用:graphql/graphiql: An in-browser IDE for exploring GraphQL.
研究 GraphQL 主要是因為 GitHub 最近將原本使用 REST API 轉換成 GraphQL。
註:這篇文章可以參考:GraphQL vs. REST
下述為 GitHub API 與開發相關文件
- Introduction to GraphQL - 介紹 GraphQL
- GitHub API | GitHub Developer Guide
- GraphQL API v4 Guides # 有將 REST Migrating 到 GraphQL 等連結
GitHub 全面將 API 轉換成 GraphQL 應該是有過考量,有空再來玩玩看 GraphQL。
相關網頁