Конфигурирование Swagger со значениями из объекта Iconfiguration - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь настроить swagger в startup.cs.Если я задаю его обязательные значения «Жестко закодировано», как показано ниже in ASP.NET Core : 2.2

    services.AddSwaggerGen(c =>
    {
      c.SwaggerDoc("V1", new Info { Title = "MY.API", Version ="v1" });
    });

    app.UseSwagger();
    // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), 
    // specifying the Swagger JSON endpoint.
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "MY.API V1");
    });

, но если я установил все вышеупомянутые жестко закодированные значения из объекта «IConfiguration», предоставленного ядром asp.net, то он перестанет работать,

services.AddSwaggerGen(c =>
{
   c.SwaggerDoc(this.Configuration.GetSection("AppSetting") 
   ["APIName"], new Info { Title = "My.API", Version = "v1" });
}); 

ОС: Windows 10 Pro

1 Ответ

0 голосов
/ 21 апреля 2019

Это должен быть комментарий, но мне не хватает кармы.

Сначала покажите нам ваш appsettings.json. Вторая проверка, что эта строка действительно возвращает правильное значение, а не пустую или пустую строку (просто поместите ее в локальную переменную):

this.Configuration.GetSection("AppSetting")["APIName"]

Edit: Кажется, что поле имени чувствительно к регистру. Убедитесь, что вы используете значение из конфигурации также в UseSwaggerUI:

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint($"/swagger/{this.Configuration.GetSection("AppSetting")["APIName"]}/swagger.json", "MY.API V1");
});
...