12.27 為什麼 GraphQL 是 API 的未來

什麼是 GraphQL

GraphQL 是一種面向數據的 API 查詢風格。

傳統的 API 拿到的是前後端約定好的數據格式,GraphQL 對 API 中的數據提供了一套易於理解的完整描述,客戶端能夠準確地獲得它需要的數據,沒有任何冗餘,也讓 API 更容易地隨著時間推移而演進,還能用於構建強大的開發者工具。

在接下來的一系列文章中,我們會了解 GraphQL 是什麼,它是如何運作以及如何使用它。在找如何搭建 GraphQL 服務的文檔?這有一些類庫可以幫你用多種不同語言實現 GraphQL。通過實用教程深入學習體驗,請訪問 How to GraphQL 全棧教程網站。

GraphQL 是一個用於 API 的查詢語言,是一個使用基於類型系統來執行查詢的服務端運行時(類型系統由你的數據定義)。GraphQL 並沒有和任何特定數據庫或者存儲引擎綁定,而是依靠你現有的代碼和數據支撐。

一個 GraphQL 服務是通過定義類型和類型上的字段來創建的,然後給每個類型上的每個字段提供解析函數。例如,一個 GraphQL 服務告訴我們當前登錄用戶是 me,這個用戶的名稱可能像這樣:

<code>type Query {
me: User
}

type User {
id: ID
name: String

}/<code>

一併的還有每個類型上字段的解析函數:

<code>function Query_me(request) {
return request.auth.user;
}

function User_name(user) {
return user.getName();
}/<code>

一旦一個 GraphQL 服務運行起來(通常在 web 服務的一個 URL 上),它就能接收 GraphQL 查詢,並驗證和執行。接收到的查詢首先會被檢查確保它只引用了已定義的類型和字段,然後運行指定的解析函數來生成結果。

例如這個查詢:

<code>{
me {
name
}
}/<code>

會產生這樣的JSON結果:

<code>{
"me": {
"name": "Luke Skywalker"
}
}/<code>

在這系列文章中,我們會學習更多關於 GraphQL 的知識,包括查詢語言、類型系統、GraphQL 服務的工作原理以及使用 GraphQL 解決常見問題的最佳實踐。

為什麼 GraphQL 是 API 的未來


分享到:


相關文章: