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: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
以前は、無効なGraphQL リクエストで、HTTP 仕様を介してGraphQLで定義される正しい 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 について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチ セルフサービスツール。
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3