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 型別的查詢。

Schema 對映檢查

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

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

Schema 對映檢查也已更新,以支援 Schema 介面,並報告因 Java 型別資訊不足而未檢查的任何型別,例如在控制器方法返回型別中宣告為 java.lang.Object 的 Schema 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 社群所有即將舉行的活動。

檢視所有