【问题标题】:How to generate multiple pages from Swashbuckle.AspNet?如何从 Swashbuckle.AspNet 生成多个页面?
【发布时间】:2018-03-06 10:33:11
【问题描述】:

我一直在关注this guide,使用 Swashbuckle 为我的 ASP.Net REST WebApi 创建开发人员友好的文档。 但是,当前版本Swashbuckle.AspNetCore v2.2.0 生成了一个巨大的单页应用程序,这让我的用户感到困惑。 如果我没记错的话,Swashbuckle 为每个控制器/方法生成单独的页面(2017 年初?)。我的配置如下:

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1");
    c.EnableFilter();
    c.MaxDisplayedTags(5);
});

问:有没有办法让 Swagger-UI 为每个控制器和方法生成单独的页面,而不是一个巨大的单一滚动混乱?

更多细节:

  • VS2017
  • Microsoft.AspNetCore 2.0.0
  • Microsoft.AspNetCore.Mvc 2.0.0
  • Swashbuckle.AspNetCore 2.2.0
  • 纯 WebApi - 只生成 JSON,根本不生成 HTML。
  • 通过 Kestrel 进行自我托管
    • 使用 net 4.6.2 的任一 Windows(此处使用 Swashbuckle)
    • 或使用 dotnet core 2.0 的嵌入式 Linux(已禁用 Swashbuckle)

【问题讨论】:

    标签: asp.net swagger swashbuckle


    【解决方案1】:

    Swashbuckle.AspNetCore v2.2.0 支持将 API 操作任意分组到多个 Swagger 文档中。

    请参阅此处的文档: https://github.com/domaindrivendev/Swashbuckle.AspNetCore#generate-multiple-swagger-documents

    【讨论】:

    • 不幸的是,这些文件没有链接。通常,此功能用于版本控制或区分独立服务。我正在寻找页面/子/子模式而不是 SPA。
    • 我相信 Swashbuckle 没有直接的支持,可以按照你想要的方式实现功能。您可以做的是编写您的后处理步骤,该步骤采用完整的 Swagger 描述并根据在每个操作的每个 tags 属性中找到的值拆分为多个文件,如下所述:github.com/domaindrivendev/Swashbuckle/issues/764
    猜你喜欢
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多