2022 年 11 月 7 日 by GraphQL 基金會
GraphQL 最常透過 HTTP 提供服務。然而,儘管 GraphQL 有明確的規範,但這個 HTTP 傳輸協定卻沒有。為了修正這個問題,GraphQL 工作小組一直致力於制定 GraphQL over HTTP 規範。
除了規範之外,我們更希望有一個真正的實作作為參考。這可以確保我們規範的想法能夠順利實作,並且在軟體中出現特殊情況時,我們可以確保規範中也反映了這些情況的解決方案。
對於 GraphQL over HTTP,名義上一直是 express-graphql。這個套件可以輕鬆地從 express 伺服器建立 GraphQL 服務端點。然而,隨著 Node 社群在這些年來的發展,express 的替代方案也隨之出現,不再只有一個架構可以遵循。此外,由於我們的維護頻寬著重於其他專案,express-graphql 也因此落後了。
幸運的是,感謝 Denis Badurina 的專注努力,我們在 graphql-http 中有了一個替代方案。Denis 一直是制定 GraphQL over HTTP 規範的委員會成員,並致力於建立一個不依賴於其他套件的相容 GraphQL 伺服器,這個伺服器可與大多數現有的 Node 和 Deno HTTP 框架搭配使用。
我們決定將 graphql-http 專案納入 GraphQL Foundation(由 Denis 繼續擔任主要維護者),並將其設為 GraphQL over HTTP 的官方參考實作。
我們將在這次變更中棄用 express-graphql,並建議使用它的使用者改用 graphql-http。