Попытка изменить конечные точки сваггера по умолчанию и имя документа, используя следующий фрагмент в Asp. NET Core 3.1. У меня есть несколько документов swagger, следовательно, циклы foreach:
В Startup.ConfigureServices я делаю это:
services.AddSwaggerGen (setupAction => {
foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions)
{
setupAction.SwaggerDoc($"EntitlementAPI{description.GroupName}",
В Startup.Configure я делаю это:
app.UseSwagger(setupAction =>
{
foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions)
{
setupAction.RouteTemplate = $"docs/EntitlementAPI{description.GroupName}/openapi-specs.json";
}
});
app.UseSwaggerUI(setupAction =>
{
setupAction.RoutePrefix = "docs";
foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions)
{
setupAction.SwaggerEndpoint(
$"/docs/EntitlementAPI{description.GroupName}/openapi-specs.json",
description.GroupName.ToUpperInvariant());
}
});
С этими изменениями я ожидал, что документ будет доступен по адресу:
localhost: 5005 / docs /openapi-specs.json
и пользовательский интерфейс на
localhost: 5005 / docs / index. html
при условии, что приложение работает на локальном хосте: 5005.
Это не работает в Visual Studio на ма c. Есть идеи или предложения?
Кроме того, как можно использовать теги для управления заголовком, под которым происходят операции? По умолчанию, сгенерированная spe c использует имя контроллера. Я хочу использовать пользовательскую строку.