首页 > 解决方案 > .Net Core 3.1 - Swashbuckler - 如何在 AddSwaggerGen 中使用 appsettings

问题描述

我在尝试将 AddSwaggerGen 扩展中的 appsettings 用于 Swashbuckler 的 OperationFilter 参数时遇到问题。

我曾尝试使用在 startup.cs 中定义的 ServiceProvider、IConfiguration 和预加载的 DI 类。

这是我尝试做的一种尝试:

c.OperationFilter<SwaggerOperationFilter>(
    this.Configuration.GetSection("ApiSettings")["MaxResults"]
);

Console.WriteLine(JsonSerializer.Serialize(this.Configuration.GetSection("ApiSettings")) 
>>> {"Key":"ApiSettings","Path":"ApiSettings","Value":null}

我可以用像“100”这样的硬编码值换掉this.Configuration.GetSection("ApiSettings")["MaxResults"] 它,它会正常工作。但是我需要从 appsettings 中获取这个值,而不是硬编码它。

我尝试了许多不同的方法,认为它应该有效,但它没有。我得到的值是 null/0 的值,这意味着对象是空的/新的。它实际上并没有得到应有的 appsettings。

标签: .net-coreswagger.net-core-3.1swashbuckle.aspnetcore

解决方案


推荐阅读