Spring for GraphQL 1.2.0-RC1 釋出

釋出 | Rossen Stoyanchev | 2023 年 4 月 19 日 | ...

我很高興地宣佈 Spring for GraphQL 1.2 的候選版本現已透過 https://repo.spring.io/milestone 提供。

Querydsl 和 Query By Example 的分頁

M1 版本分頁和排序 提供了抽象和基礎設施,包括對 註解控制器方法 上輸入和輸出型別的支援,從而最大限度地減少了應用程式為支援分頁查詢所需做的工作。

當前的候選版本透過將分頁支援擴充套件到我們的 QuerydslQuery By Example DataFetcher 實現來完成此操作,這兩種實現現在都公開了一個 scrollable 工廠方法。

此外,Querydsl 和 Query by Example 儲存庫的自動註冊已擴充套件為適用於返回 Connection 型別 的查詢。

架構對映檢查

M1 版本提供了一個非常重要的 架構對映檢查 功能,該功能檢查是否所有架構欄位都由 DataFetcher 註冊覆蓋,或者是否具有匹配的 Java 物件屬性。

在當前的候選版本中,此功能已進一步擴充套件,以識別返回 Connection 型別 的分頁查詢,並在架構型別上正確巢狀在其 EdgeNode 型別中,以及在 Java 型別的泛型引數中,以便正確比較其中的結構。

架構對映檢查也已更新為支援架構介面,並報告由於 Java 型別資訊不足而未檢查的任何型別,例如,將在控制器方法返回型別中宣告為 java.lang.Object 的架構 union 型別。

如果您尚未嘗試此功能,請嘗試並向我們提供反饋。

使用 Querydsl 和 Query By Example 的單個輸入型別

對於具有單個引數(即 GraphQL 輸入型別)的查詢,Querydsl 和 Query by Example 使用起來都有點笨拙,需要一個具有單個引數的人工包裝型別,而實際資料巢狀在該引數的 GraphQL 輸入型別的結構中。

在當前的候選版本中,Querydsl 和 Query by Example 儲存庫不再需要此類包裝器型別,現在可以直接繫結到反映 GraphQL 輸入型別的物件。

透過直接欄位訪問進行引數繫結

Spring for GraphQL 引數繫結已經支援透過建構函式和屬性初始化繫結到更高級別的目標物件,包括具有任何級別巢狀的物件結構。但是,有時屬性名稱可能遵循不同的約定,並且您可能不擁有這些物件並且無法更改它們。

在當前候選版本中,我們添加了一個選項來允許回退到直接欄位訪問,這可能在上述情況下有所幫助。

總結

我們的下一站是 5 月 17 日的 GA 釋出版本,然後是精彩的 Spring I/O 大會,Brian 和我將在會上展示 Observing Spring for GraphQL In Action。如果您要參加會議,請過來打個招呼。我們很樂意與您交談!

獲取 Spring 新聞簡報

隨時關注 Spring 新聞簡報

訂閱

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部