使用 Swashbuckle 和 .NET CORE 3.1 自定义 Swagger UI 和 JSON URL

Customize Swagger UI and JSON URLs using Swashbuckle and .NET CORE 3.1

NET Core 3.1 Web 应用程序,带有 Swashbuckle.AspNetCore 的 swagger。我想为我的 swagger UI URL 和 swagger JSON URL 添加一个自定义名称。我们有一个基于 URL 重定向到不同应用程序的代理,所以我希望能够识别这个 swagger URL 是我的应用程序并转发给它。

我正在尝试下面的代码

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/yasser-swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = "yasser";
});

swagger UI 能够在 https://localhost:6001/yasser 上加载,它重定向到 https://localhost:6001/yasser/index.html 并显示大摇大摆 UI

但是,它抛出一个关于无法找到 swagger.json 文件的错误。

知道如何解决这个问题吗?

找到配置使其工作 -

app.UseSwagger(c =>
{
    c.RouteTemplate = "abc-swagger/{documentName}/swagger.json";
});

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/abc-swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = "abc-swagger";
});