GraphQL 透過允許實作我們 API 的開發人員挑選和選擇確切的資料及他們想要它的方式,完美地解決了這個問題。這允許他們不需要 Zonos 為每種情況進行自訂工作(同時他們等待)就能將其配合他們的工作流程。
使用 GraphQL 和我們平台現代化的組合結果使我們的 API 性能更強,使將 Zonos 整合到您的系統變得更快,並使 Zonos 能夠更快速地交付新功能。
更好的功能
Zonos 持續開發新功能,GraphQL 是第一個(通常是唯一一個)接收這些更新的功能。相比之下,我們的 REST API 被視為生命週期結束,無法存取我們的許多新功能。
限於 GraphQL 的功能範例:
Inclusive pricing
Labels API
New Checkout and Hello
Box sizes in API response
Dashboard reporting
Ability to request a DDP quote if possible, but still return a DDU quote if DDP is unavailable to that country with that service level
Detailed breakdown of duties, taxes, and fees (item-level information, specific fees)—Dashboard is powered by GraphQL and shows this data for all stores, but the REST API response does not include this level of detail
為什麼要使用 GraphQL
為什麼要使用 GraphQL
了解我們為什麼推薦透過 GraphQL 而非 REST 進行整合。
在 Zonos,我們為整合提供兩種主要 API 類型:GraphQL 和 REST。雖然 REST API 已經存在更長時間,可能對許多人更熟悉,但我們已轉向 GraphQL 以提供更高的靈活性和更快的創新速度。雖然兩種都仍然受支持,但本指南解釋了為什麼 GraphQL 不僅是我們整合的未來,也是整體整合的未來,並且是今天滿足您需求的更強大工具。
什麼是 GraphQL?
GraphQL 是一種與 API 通信的替代方式,特別適合複雜的資料結構及在其上構建介面。與將資料視為獨立的獨立片段不同,GraphQL 展示了資料片段如何連接和相互關聯,使獲取和接收資訊變得容易。
將 GraphQL 視為一種查詢語言,允許您如同直接與資料庫通信一樣與 API 交談。使用 GraphQL 能讓您盡可能接近資料庫,讓您挑選和選擇您想要的資料及獲取方式,帶來巨大的性能優勢。
GraphQL 由 Facebook 建立以解決複雜資料結構的擴展問題。由於他們成功採用,越來越多公司開始認識到 GraphQL 對其 API 的優勢。
已經了解 REST?GraphQL 會很熟悉。
GraphQL API 比您可能認為的更容易使用。如果您習慣使用 REST API,以下是 REST 的核心概念如何轉換為 GraphQL。
GraphQL 的優勢
更快的回應
GraphQL 透過精確的資料檢索、單一端點的使用以及改進的批次處理和快取能力提供更快的回應。
精確的資料檢索
REST 的一個常見挑戰是資料過度獲取或獲取不足——要麼獲取太多不必要的資訊,要麼在一個請求中獲取不足需要的資訊。GraphQL 透過允許請求正好所需的資料來消除這一點——不多不少。這種特異性不僅改進性能,還簡化了與 API 交互的過程,使系統更高效且用戶友好。
使用此方式的例子:
單一端點
GraphQL API 通常有單一端點,不像 REST API 通常為不同資源和操作有多個端點。這使 API 更簡單易管理和理解。
批次處理和快取
GraphQL 的批次查詢能力及其對快取策略的支持導致顯著的性能改進。這些功能減少了網路和伺服器的負載,轉化為更快、更可靠的使用者交互。
定義明確的 schemas
GraphQL API 基於強型別 schema。此 schema 定義了可用資料的結構和可執行的操作。這提供了關於什麼資料可用以及如何存取的明確性,可以改進開發人員的生產力並減少錯誤。例如,前端團隊可以探索圖形以獲取他們所需的確切內容,而不是等待新的 REST 端點。
在不破壞現有客戶端的情況下改進的能力
在 GraphQL 中添加新功能或修改現有功能不會因為其靈活的查詢結構而中斷當前的整合。這種能力確保改進可以在不破壞與現有客戶端相容性的情況下進行。
最新的文件
得益於 GraphQL 的內省功能,文件會隨著每項更改自動生成和更新。這確保提供給開發人員的所有資訊都是最新的,減少與過時文件相關的整合問題和支持工單——這是 REST API 文件面臨的常見挑戰。
檢視我們的 GraphQL 文件和我們的 REST 文件以查看差異。
一個類比
想像您在一家餐廳,菜單讓您完全按照喜好訂購菜餚,相比之下另一家餐廳您只能選擇套餐。GraphQL 就像第一家餐廳:
GraphQL 相比 REST API 為獲取資料提供更多靈活性、效率和簡潔性,尤其是當您的需求更改或增長時。
Zonos 如何使用 GraphQL
在過去幾年現代化平台的過程中,Zonos 選擇使用 GraphQL 而非 REST 為我們的 API 構建新功能。我們決定這樣做是因為我們的資料是複雜且相互連接的,很像導致 Facebook 建立 GraphQL 的資料。這種複雜性使得難以構建可擴展的 REST API,因為開發人員需要獲取和使用資料的方式在實作間變化很大,而 REST 不靈活。
GraphQL 透過允許實作我們 API 的開發人員挑選和選擇確切的資料及他們想要它的方式,完美地解決了這個問題。這允許他們不需要 Zonos 為每種情況進行自訂工作(同時他們等待)就能將其配合他們的工作流程。
使用 GraphQL 和我們平台現代化的組合結果使我們的 API 性能更強,使將 Zonos 整合到您的系統變得更快,並使 Zonos 能夠更快速地交付新功能。
更好的功能
Zonos 持續開發新功能,GraphQL 是第一個(通常是唯一一個)接收這些更新的功能。相比之下,我們的 REST API 被視為生命週期結束,無法存取我們的許多新功能。
限於 GraphQL 的功能範例:
這個頁面有幫助嗎?