You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.NET Swagger工具导出最新版本API的Swagger文档

.NET Swagger CLI 导出最新版本API文档方案

当前使用swagger .NET 工具生成指定版本Swagger JSON的命令如下:
swagger tofile --serializeasv2 --output rest-api.json C:\Service.dll v1
该命令要求必须显式传入对应API版本的Swagger文档名称(示例中为v1),工具本身没有内置自动识别最新版本的参数,此前尝试创建名为latest的文档承载最新版本内容失败,可通过以下两种可行方案实现需求:

方案1:脚本动态获取最新版本传入命令

该方案无需修改业务项目代码,侵入性最低:

  • 按项目实际的版本存储规则,提前提取所有已注册的Swagger文档版本号,按版本规则排序取最大值后,作为参数传入导出命令即可
  • 针对数字递增的版本命名规则(v1、v2、v3),可参考以下PowerShell脚本逻辑实现:
# 替换为实际读取项目所有已注册Swagger版本的逻辑
$registeredVersions = @("v1", "v2", "v3")
# 按版本号数值倒序取最高版本
$latestVer = $registeredVersions | Sort-Object { [int]($_ -replace 'v', '') } -Descending | Select-Object -First 1
# 执行导出命令
swagger tofile --serializeasv2 --output rest-api.json C:\Service.dll $latestVer

如果使用语义化版本命名(如v1.0.0、v1.1.2-beta),需要将排序逻辑替换为语义化版本排序规则,避免版本识别错误。

方案2:项目内正确配置latest文档分组

此前创建latest文档失败的核心原因是未将最新版本的API端点正确归入latest分组,正确配置步骤如下:

  • 在服务Swagger配置段,额外注册一个文档标识为latest的Swagger文档
  • 配置API分组约定时,将当前标记为最新版本的所有API端点,同时归入对应原版本号分组和latest分组
  • 可在Swagger UI配置中隐藏latest分组,避免前端文档页出现重复入口
    配置完成后可直接执行命令导出最新版本文档:
    swagger tofile --serializeasv2 --output rest-api.json C:\Service.dll latest
    该方案的缺点是每次迭代发布新版本时,需要调整配置将latest分组映射到新的最高版本,适合版本迭代频率较低的项目。

内容的提问来源于stack exchange,提问作者Dmitry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 22:27:34