Проблема версии API .NetCore с SwaggerUI - PullRequest
0 голосов
/ 27 марта 2019

Я следовал этому примеру для реализации контроля версий в API, и я использую контроль версий заголовка. После замены кода useSwaggerUI на примеры я больше не получаю интерфейс пользователя:

enter image description here

Когда я отлаживаю через:

app.UseSwaggerUI(options =>
{
    //options.DocumentTitle = "Web API Core";
    //options.SwaggerEndpoint("/swagger/v1/swagger.json", "WebAPICore V1");
    //options.SwaggerEndpoint("/swagger/v2/swagger.json", "WebAPICore V2");
    //options.RoutePrefix = string.Empty;
    foreach (var description in provider.ApiVersionDescriptions)
    {
 options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant());
    }
});

Похоже, что вызов SwaggerEndpoint форматирует URL-адрес так же, как и URL-адрес с комментариями. Я явно что-то упустил, или это немного изменилось, и мне нужно сделать что-то немного другое. Кто-нибудь может посоветовать здесь, пожалуйста?

  • .Net Core 2.2
  • .Swashbuckle.AspNetCore 4.01

[edit - больше информации] Когда я запусту это сейчас и увижу SwaggerUI, как описано, я могу использовать Postman для достижения конечной точки, и работа с версиями заголовка работает.

1 Ответ

0 голосов
/ 27 марта 2019

Нашел это. Работая с ним, я также использовал другие сайты, чтобы помочь некоторым из проблем, с которыми я столкнулся, и получается, что строка:

options.DocInclusionPredicate((docName, description) => true);

в методе AddSwaggerGen. Избавляемся от него, и я возвращаю интерфейс Swagger.

...