Spring for GraphQL 1.4 M1 釋出

釋出 | Brian Clozel | 2025 年 3 月 18 日 | ...

我很高興代表 Spring for GraphQL 團隊宣佈我們的第一個 1.4 里程碑版本。

與 GraphQL over HTTP 規範對齊

GraphQL over HTTP 草案規範正在取得良好進展,因此我們決定完全與其對齊,以用於我們的 1.4 版本。 以前版本的 Spring for GraphQL 已經支援官方的"application/graphql-response+json",並且在一段時間以來一直是我們的預設響應媒體型別。

通常,如果伺服器不可用、缺少安全憑證或者請求正文不是有效的 JSON,GraphQL HTTP 客戶端應該期望 4xx/5xx HTTP 響應。 這個新規範的剩餘差距在於,在發生完整的 GraphQL 引擎故障的情況下,HTTP 響應狀態的行為。 透過最近的更改,如果客戶端傳送的 GraphQL 文件無法被解析或者被 GraphQL 引擎認為是無效的,則 "application/graphql-response+json" 響應也將使用 4xx 狀態。 當客戶端請求 "application/json" 媒體型別時,我們將保留以前的行為。

此更改是透過 HTTP 響應狀態,更好地理解生產中平臺和工具之間的 GraphQL 交換的一個步驟。 這並不能取代對專用 GraphQL 指標和跟蹤的需求。 Spring for GraphQL 已經擁有出色的可觀察性支援,並計劃很快使用 DataLoader 檢測 來擴充套件它。

新的傳輸特性

除了支援 GraphQL over HTTP 規範之外,我們還在不斷改進我們的傳輸支援。 這個新的里程碑版本為基於 Servlet 的應用程式帶來了效能改進,為透過 Server Sent Events 的訂閱帶來了 keep-alive,並使用新的 WebGraphQlInterceptor 提供了全域性 HTTP 超時支援。

更好的 Federation 支援

Spring for GraphQL 升級到 Apollo GraphQL Federation 5.3.0 並改進了我們的 Federation 支援。 我們現在支援 DataLoader@EntityMapping 方法提供的引數; 這是從 GraphQL Java Kickstart 遷移到我們堆疊的開發者所要求的。

此外,我們的模式檢查功能現在可以檢測並報告任何 @EntityMapping 方法未涵蓋的聯合實體。 這使您確信您的整個模式已由應用程式實現。

下一步

請透過 https://repo.spring.io/milestone 嘗試使用 1.4 M1 版本,並在我們的 問題跟蹤器 上向我們提供反饋! 現在是我們提出改進建議的時候,因為我們的目標是在 5 月與 Spring Boot 3.5.0 一起釋出正式版本。

獲取 Spring 新聞郵件

透過 Spring 新聞郵件保持聯絡

訂閱

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

即將舉行的活動

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

檢視所有