Spring for GraphQL 1.3 RC1 版本發布

發布 | Rossen Stoyanchev | 2024 年 4 月 16 日 | ...

我謹代表 Spring for GraphQL 團隊,很高興宣布 1.3 RC1 版本的發布。這篇文章描述了此版本。有關 1.3 版本中其他即將推出的功能,請參閱 1.3 M1 部落格文章

GraphQL Java 22

1.3 發布候選版本建立在今天稍早發布的 GraphQL Java 22 之上。GraphQL Java 22 包含許多新功能,包括主要的效能改進、對即將到來的 Defer 和 Stream 指令 新增至 GraphQL 規格的實驗性支援,以及更多功能。

此版本也包含重大變更,現在是在您的環境中進行實驗的好時機。有關更多詳細資訊,請參閱 GraphQL Java 22 發布頁面

Schema 檢 inspection (綱要檢查)

啟動時的綱要檢查報告已被證明是一項受歡迎的功能。但是,由於它取決於控制器方法簽名,以便能夠將綱要與 Java 類型匹配,因此它並未完全檢查綱要介面和聯合類型,因為在這種情況下,控制器方法回傳類型無法提供有關執行時期實際類型的足夠資訊。

1.3 發布候選版本增加了對檢查介面和聯合的支援,根據確切的命名慣例,可以透明地發現與介面實作和聯合成員類型相對應的 Java 類型。如有必要,有一些選項可以自訂此功能以協助檢查。

綱要檢查也已增強,可以偵測並報告 @Argument 控制器方法參數與綱要中宣告的欄位引數之間的不符。

Schema Interface Mapping (綱要介面映射)

如果您使用綱要介面,您會遇到需要針對每個實作物件重複相同欄位映射的情況。

1.3 發布候選版本增加了對映射到綱要介面欄位的支援,方法是使這些重複的註冊透明化,除非它們已經存在。這適用於 @SchemaMapping@BatchMapping 方法。

使用 @EntityMapping 進行批次載入

1.3 M1 增加了聯邦支援,可透過 @EntityMapping 註解的控制器方法載入聯邦實體。感謝早期的回饋,我們透過批次模式增強了此功能,其中 @EntityMapping 方法可以傳回給定類型的所有實體。請參閱文件中更新的 聯邦章節

WebSocket Keep-Alive (WebSocket 保活)

如果沒有傳送其他訊息,WebSocket 傳輸現在支援以規律間隔傳送保活 PING 訊息。在伺服器端,這可以透過 Spring Boot 屬性 spring.graphql.websocket.keep-alive 啟用。在用戶端,這可以透過用戶端建構器啟用。

GraphQL 與其他端點的 Jackson Codec

現在可以為 GraphQL 端點配置與用於 HTTP 和 Web 端點的 Jackson codec 分開的 codec。這對於根據需要呈現 GraphQL 回應(例如,使用 null 值),而不會對常規 HTTP 端點造成副作用可能很重要。

有關所有變更的清單,請參閱 v1.3.0-RC1 發布 頁面。

Netflix DGS

我們繼續與 DGS 團隊密切合作,進行整合,以便為兩個框架在同一基礎上運行提供共同基礎。DGS 團隊現在已將此整合提供給一般使用,並概述了路線圖。

請參閱 公告部落格文章,以及 Josh 的 Bootiful Podcast,其中 Paul Bakker 和 Kavitha Srinivasan 的訪談也值得一看。

結論

接下來是 5 月 21 日的 GA 正式發布版本。一如既往,您的回饋至關重要,我們非常感謝!請試用此版本,並告知我們它的運作情況。

在 GA 正式發布版本發布後一週,將於 5 月 30-31 日舉行 2024 年的 Spring I/O 會議,我們有一個針對 GraphQL Java 22 和 Spring for GraphQL 1.3 的 專題講座。我期待與計劃參加的人見面。門票所剩不多!

取得 Spring 電子報

隨時掌握 Spring 電子報的最新消息

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進制檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部