取得領先
VMware 提供培訓和認證,以加速您的進度。
了解更多我很高興代表 Spring for GraphQL 團隊宣布第一個 1.3 里程碑版本的發布。此版本包含本文中描述的許多新功能。
GraphQlClient
為透過任何傳輸(包括 HTTP、WebSocket 和 RSocket)的 GraphQL 請求提供了一個通用的工作流程。繼 Java 21 中 Project Loom 的可用性,以及 Spring Framework 6.1 中新的同步 RestClient 之後,我們現在添加了在阻塞堆疊上使用 GraphQlClient
以及使用同步 API 的選項。 有關如何使用基於 RestClient
的傳輸建立 GraphQlClient
的詳細資訊,請參閱參考文件。
GraphQlClient
仍然是一個跨阻塞和非阻塞傳輸的通用 API,現在還提供了同步與非同步使用的選擇。這表示在建置時,您可以選擇在阻塞或非阻塞傳輸上執行,並且在執行階段,您可以保留同步或非同步執行請求的選擇。
若要執行 GraphQL 請求,您需要以文字、字串文字或從文件載入來提供 GraphQL 運算。 此外,DGS Codegen 可以產生 Java Client API 來定義請求。 我們現在新增了一個新的 DgsGraphQlClient
,可以輕鬆使用 DGS 代碼產生的類別。
DgsGraphQlClient
是 GraphQlClient
的一個簡單包裝函式。 它提供了一個專用的工作流程來定義請求,但在其他方面使用 GraphQlClient
來執行請求,並公開相同的 API 來處理回應。
有關詳細資訊,請參閱參考文件。 此外,Spring Initializer 支援建立啟用 DGS Codegen 的 Spring GraphQL 專案。
我們現在提供透過 SSE 處理 GraphQL 訂閱請求的支援,基於 Spring MVC 和 WebFlux,依據 GraphQL over SSE 規範。 有關詳細資訊,請參閱參考文件。
在客戶端,HttpGraphQlClient
現在支援透過 SSE 進行 GraphQL 訂閱。
當聯邦 GraphQL 服務啟動時,它需要通過 federation-jvm 庫初始化 GraphQLSchema
,以添加對聯邦指令的支援,並處理對聯邦實體類型的請求。
我們現在提供 FederationSchemaFactory
來執行此配置步驟。 工廠檢測 @EntityMapping
控制器方法,您可以使用這些方法載入聯邦實體類型。 這些方法可以使用 @Argument
註釋的方法參數來訪問具有類型轉換的實體 ID 值。 他們可以同步或非同步執行。 它們也可以通過解析為 GraphQLError
的 @GraphQlExceptionHandler
方法解析異常。
有關詳細資訊,請參閱參考文件。
最後但同樣重要的是,我們與 DGS 團隊合作,為 Spring GraphQL 應用程式建立了一個通用基礎。 您可以閱讀摘要。 因此,DGS Framework 中有一個新的集成正在最終確定,並且在 Spring for GraphQL 1.2.5 版本 中進行了一些重要的更新,從而啟用了集成,從而使所有 Spring GraphQL 應用程式受益。 我們感謝 DGS 團隊,並期待我們繼續合作!
請透過 https://repo.spring.io/milestone 試用 1.3 M1 版本,並在我們的 問題追蹤器 中向我們提供反饋!