DotNet 5.0 Swagger 未在 Azure 应用服务中加载

问题描述

我有一个使用 dotnet 5.0 创建并部署到 Azure 应用服务的 web api,它正在运行并且 swagger 加载成功,但在 Azure 应用服务中,swagger 未加载也会引发 404 错误,但 API 数据加载成功。

解决方法

检查您的 Startup.cs 文件和 Configure() 方法。
如果您创建了一个新的 .NET 5 项目并自动配置了 Swagger,那么它可能只能在开发环境中启用。
检查您的代码是否如下所示:

if (env.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json","Lotus.API.Integration v1"));
}

将 Swagger 配置行移到 if 语句之外,这应该允许它在 Azure 中加载(即在您的 IDE 之外)。