デフォルトのGraphQL Query Executor 設定オプション

対処方法を説明します サービス拒否 ​最新のGraphQL Java アップデートのデフォルトのパーサーオプションが原因で発生した、GraphQL クエリのエラー。

説明 description

環境

Adobe Experience Manager

問題/症状

最新のGraphQL-Java アップデートにより、次のデフォルトのパーサーオプションが作成される可能性があります 「サービス拒否」の無効な構文 GraphQLの複雑なクエリを実行中にエラーが発生しました。  これらの検証は、サービス拒否攻撃を避けるためにGraphQL - Java で導入されました。

コンテキストに関しては、これらの制限はで定義されています。 https://github.com/graphql-java/graphql-java/blob/v20.3/src/main/java/graphql/parser/ParserOptions.java#L35。

解決策 resolution

この問題は、次の手順に従ってカスタムパーサーオプションを渡すことで修正できます。

  • これは、を返す非常に大きなGraphQL クエリに有効です。 「サービス拒否」の無効な構文 ​エラー、次のいずれかで始まる:

    • AEM Cloud Service(リリース 2023.8 の内部参照 SITES-13906 で導入された制限と、リリース 2024.3 で導入された回避策)または
    • AEM 6.5.21 (内部参照 SITES-17355 で導入された制限と回避策)
  • これは、OSGI 設定を設定することで解決できます  Apache Sling Default GraphQL Query Executor  および値を調整  最大クエリ トークン数  および  最大空白トークン数  必要に応じて調整します。

これは最後の手段として行い、プロジェクトのニーズが満たされるまで値を徐々に増やす必要があります.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f