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 釋出頁面

Schema 檢查

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

1.3 候選版本增加了對檢查介面和聯合的支援,這取決於確切的命名約定,可以透明地發現與介面實現和聯合成員型別相對應的 Java 型別。如有必要,有一些選項可以自定義以幫助檢查。

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

Schema 介面對映

如果您使用 Schema 介面,您可能需要為每個實現物件重複對映同一個欄位。

1.3 候選版本增加了對 Schema 介面欄位對映的支援,透過使這些重複的註冊變得透明,除非它們已經存在。這適用於 @SchemaMapping@BatchMapping 方法。

使用 @EntityMapping 進行批次載入

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

WebSocket Keep-Alive

如果長時間沒有傳送其他訊息,WebSocket 傳輸現在支援定期傳送 keep-alive PING 訊息。在伺服器端,這透過 Spring Boot 屬性 spring.graphql.websocket.keep-alive 啟用。在客戶端,這透過客戶端構建器啟用。

GraphQL 與其他端點的 Jackson 編解碼器

現在可以為 GraphQL 端點配置一個獨立的 Jackson 編解碼器,使其與 HTTP 和 Web 端點使用的編解碼器分開。這對於根據需要渲染 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 社群所有即將舉行的活動。

檢視所有