【发布时间】:2018-07-25 06:19:13
【问题描述】:
我正在使用 Swashbuckle 将我们 API 的 Swagger 文档嵌入到我们的 .NET Web API 2.2 应用程序 (.NET 4.5) 中。到目前为止,所有控制器都存在于主 Web API dll 中,但是当我们开始构建 API 时,我们正在将不同版本的 API 移动到单独的 dll 中。
在 Swashbuckle 中指定自定义资产时,可以为资源路径指定 1 个程序集,例如“v1”-> V1Assembly。但是,我希望支持用户能够查看所有版本和程序集的所有 API 端点。如何确保此功能在 Swashbuckle 中是可行的?本质上,我希望帮助系统上有一个“全部”或“索引”端点,以显示所有版本化程序集的所有潜在 API 资源。
我的想法是扩展 SwaggerUiConfig 以允许 CustomAsset 接受一组程序集而不是一个程序集的新功能,这样我们就可以查询多个程序集来生成文档,而不仅仅是一个。
对如何在 SwaggerConfig 或其他方式中完成此操作有任何想法吗?
【问题讨论】:
-
乱想:Swashbuckle 是根据你生成的 XML 文档文件生成的。因此,如果您生成了一个组合文件并将 Swashbuckle 指向它,那么您的问题应该得到解决。
-
感谢您的建议。这是一个有趣的观点,绝对值得进行一些研究。唯一的问题是弄清楚如何将多个程序集中的 xml 合并到一个程序集中。我想知道是否要为所有程序集指定相同的 xml 名称,如果它会生成一个巨大的聚合程序集。这对文档有所帮助,但如何将其与实时 API 调用相协调?
标签: c# rest asp.net-web-api2 swagger-2.0 swashbuckle