DOCS

為什麼要使用 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。

功能RESTGraphQL
端點請求向多個端點發送以進行不同的操作所有請求都向單一端點發送(例如 /graphql)
資料檢索使用特定端點上的 GET 方法檢索資料使用 查詢 來請求精確需要的資料,減少過度獲取或獲取不足
資料修改/操作使用 HTTP 方法(如 POST、PUT、PATCH 或 DELETE)修改或處理資料。使用 mutations 執行操作(例如,建立各方,計算著陸成本)
回應格式固定的回應格式返回所有預定義欄位,無論是否需要靈活的回應允許指定要包括的確切欄位,減少不必要的資料傳輸(如果這種靈活性感覺複雜,只需在我們的文件中使用預先編寫的查詢範例以獲得 REST 體驗)
資料連接通常需要多個請求來獲取相關資料巢狀查詢能在單一請求中檢索相關資料(例如,各方的詳細資訊和出貨項目一起)。使用者也可以構建工作流程以在單一 GraphQL 請求中管理多個 mutations,減少複雜性並提高效率

GraphQL 的優勢

一個類比 

想像您在一家餐廳,菜單讓您完全按照喜好訂購菜餚,相比之下另一家餐廳您只能選擇套餐。GraphQL 就像第一家餐廳:

  • 獲取您想要的確切內容: 使用 GraphQL,您可以要求確切的資料,不多不少。想像您只想要菜名和價格,而不是整個配料清單。使用 REST API,您必須獲取整個菜的詳細資訊並忽略您不需要的部分。
  • 組合自訂菜餚: 我們的 GraphQL API 可以輕鬆組合以建立更多自訂解決方案,類似於自助餐廳,您可以使用他們已經擁有的配料精確按照需要建立獨一無二的菜餚。相比之下,REST API 就像一家烘焙店,裝有預製商品的籃子——您只能訂購已經建立的東西,無法選擇只帶回您想要的一片。
  • 較少等待: 由於您可以在單一請求中獲取所有您需要的資訊,這就像要求服務員一次帶來您的開胃菜、主菜和甜點,而不是在課程之間等待。大多數 REST API 需要您發送多個請求以獲取不同的資訊片段。
  • 輕鬆更改訂單: 如果您的應用程式資料需求更改,GraphQL 可以更容易地調整。您只需更改您所需內容的查詢。使用 REST,您可能需要等待廚房(後端)為菜單建立新菜(端點),這需要更多時間。

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 的功能範例:

  • 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
  • Test mode (coming soon)
預約演示

這個頁面有幫助嗎?


獲取支持·法律文件·© 2026 Zonos