微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 .NET 5 中使用 NSwag 时如何显示完整的 swagger 界面?

如何解决在 .NET 5 中使用 NSwag 时如何显示完整的 swagger 界面?

我正在尝试熟悉 .NET 5 as documented here 的 NSwag 用法。阅读后,我觉得这个文档已经过时了,因为它提到了 UseMvcAddMvc方法,这些方法对于 .NET Core 2.1 来说是典型的,但对于 .NET 5 来说不是。无论如何,这是我的配置方法(我操作了 Visual Studio 2019 自动生成的标准 .NET 5 Web Api 项目):

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
    services.AddSwaggerDocument();
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
    app.USEOpenApi();
    app.UseSwaggerUi3();
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

按F5后,显示如下:

enter image description here

这是项目文件

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <packagereference Include="NSwag.AspNetCore" Version="13.11.3" />
    <packagereference Include="Swashbuckle.AspNetCore" Version="5.6.3" />
  </ItemGroup>

</Project>

显然,我“丢失”了 WeatherForecastController 的 GET 方法。那么,在 .NET 5 中使用 NSwag 时如何显示完整的 swagger 界面? The code examples referred to by the docs,也没有帮助我,因为它们基于旧版本的 .NET Core。我使用 NSwag 的原因是“the most popular tool for the job”为我的客户项目生成打字稿代码

解决方法

单击 WeatherForecast 展开节点以查看详细信息,您将在那里找到 GET 方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。