[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-68925: GraphQL回應現在會遵循HTTP規範,針對無法剖析、未授權或無效的請求傳回4XX
此修補程式可確保在請求無法剖析、未經授權或無效時,GraphQL現在會傳回適當的HTTP狀態代碼。 安裝Quality Patches Tool (QPT) 1.1.75時,即可使用此修補程式。 修補程式ID為ACSD-68925。 請注意,此問題已排程在Adobe Commerce 2.4.9中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.8-p3
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.8 - 2.4.8-p3
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
以前,無效的GraphQL請求會產生內部伺服器錯誤,而不是GraphQL透過HTTP規格定義的正確 4XX 回應。
要再現的步驟:
使用未知/不正確的篩選器名稱傳送GraphQL請求。
{
cmsBlocks(identifiers: ["home"]) {
items {
title
}
}
}
預期結果:
無法剖析要求、要求未獲授權,或要求有其他一般問題時,會傳回 4XX 回應代碼。 如果要求已剖析且可以處理,則應傳回 200 回應代碼。
實際結果:
在 中傳回 內部伺服器錯誤exception.log,回應下列錯誤:
report.CRITICAL: LogicException: Config element "FindFilterType" is not declared in GraphQL schema in lib/internal/Magento/Framework/GraphQl/Config.php:57
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3