我正在使用Swashbuckle.AspNetCore (4.0.1)
生成一个简单的SwaggerUI进行测试,就像它描述的here一样。我的ApiController有两条路线:
[Route("api/values")]
[Route("api/{systemId}/values")]
SwaggerUI显示所有控制器端点两次(一个使用systemId,一个没有systemId)。这很好,但问题是,当我点击例如/api/values/example
时,SwaggerUI也扩展了api/{systemId}/values/example
。两个端点都在控制器内部使用相同的公共C#方法,为什么SwaggerUI打开两者都是有道理的。但它令人烦恼和困惑。
有可能阻止这种行为吗?
将Name
属性添加到Route。
[Route("api/values", Name = "values1")]
[Route("api/{systemId}/values", Name = "values2")]
这将在包含端点规范的div
中创建不同的ID,因此它将仅扩展您需要的ID。