Горячий шоколад GraphQL - MaxExecutionDepth не работает - PullRequest
0 голосов
/ 06 мая 2020

Как заставить MaxExecutionDepth работать в Hot Chocolate GraphQL? Вот мой код:

    // Add GraphQL Services
    services.AddGraphQL(
        SchemaBuilder.New()
            // enable for authorization support
            .AddAuthorizeDirectiveType()
            .ModifyOptions(o => o.RemoveUnreachableTypes = true)
            .Create()
            .MakeExecutable(
                builder =>
                    builder
                        .UseDefaultPipeline()
                        .AddErrorFilter<UseExceptionMessageErrorFilter>()
                        .AddOptions(
                            new QueryExecutionOptions()
                            {
                                MaxExecutionDepth = 15
                            }))
            .Schema);

Я тестировал это, даже изменив MaxExecutionDepth на 1, но я все еще могу выполнять более 20 глубоких запросов.

1 Ответ

1 голос
/ 07 мая 2020

Согласно разработчику в проблеме GitHub, которую я создал , смог заставить его работать следующим образом:

            services.AddGraphQL(
                SchemaBuilder.New()
                    // enable for authorization support
                    .AddAuthorizeDirectiveType()
                    .ModifyOptions(o => o.RemoveUnreachableTypes = true)
                    .Create(),
                new QueryExecutionOptions()
                {
                    MaxExecutionDepth = ApiConfigurationConstants.MaxExecutionDepth
                });
            services.AddErrorFilter<UseExceptionMessageErrorFilter>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...