默认情况下,Azure 中不加载默认的 swagger 索引页

San*_*mas 2 azure swagger asp.net-core-webapi

我正在使用启用了 swagger 的 Web api (.net 5.0)。在本地运行时它工作正常。

但部署到azure后,默认情况下不会加载默认页面swagger/index.html。相反,会显示找不到页面 (404) 错误。但是,当我进入页面手动输入 URL 时,它会正确加载并列出所有 API 端点。

所以我进入应用程序服务页面并在配置中添加了一个新的默认文档,如下所示

在此输入图像描述

但一切都没有改变。当我们不指定 swagger url 时仍然出现 404 错误。

可能出什么问题了?

San*_*ani 5

这解决了问题 - 无需触摸应用程序服务中配置中的默认文档。

我分别更新了 dotnet 6 Program.cs 中用于开发和非开发环境的以下代码。

app.UseSwagger();
if (app.Environment.IsDevelopment())
{
    app.UseSwaggerUI();
}
if (!app.Environment.IsDevelopment())
{
    app.UseSwaggerUI(options =>
    {
        options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
        options.RoutePrefix = string.Empty;
    });
}
Run Code Online (Sandbox Code Playgroud)