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 包含許多新功能,包括顯著的效能改進,對即將加入 GraphQL 規範的 Defer 和 Stream 指令 的實驗性支援,以及更多。

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

模式檢查

啟動時的模式檢查報告已證明是一項受歡迎的功能。然而,由於它依賴於控制器方法簽名來匹配模式與 Java 型別,因此它無法完全檢查模式介面和聯合型別,因為在這種情況下,控制器方法的返回型別無法提供關於執行時實際型別的足夠資訊。

1.3 候選釋出版本增加了對檢查介面和聯合的支援,根據具體的命名約定,可以透明地發現對應於介面實現型別和聯合成員型別的 Java 型別。如有必要,可以自定義選項來輔助檢查。

模式檢查也已增強,可以檢測並報告 `@Argument` 控制器方法引數與模式中宣告的欄位引數之間的不匹配。

模式介面對映

如果您使用模式介面,您可能會遇到需要為每個實現物件重複對映同一欄位的情況。

1.3 候選釋出版本增加了對對映到模式介面欄位的支援,除非重複註冊已存在,否則會透明地進行註冊。這適用於 @SchemaMapping@BatchMapping 方法。

使用 @EntityMapping 的批次載入

1.3 M1 添加了聯邦支援,可以透過 @EntityMapping 註解的控制器方法載入聯邦實體。感謝早期反饋,我們增強了批次模式,@EntityMapping 方法可以返回給定型別的所有實體。請參閱文件中更新的聯邦部分

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 與 Paul Bakker 和 Kavitha Srinivasan 的Bootiful 播客也值得觀看。

總結

接下來是 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 社群所有即將舉行的活動。

檢視全部