我正在使用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会同时打开两个端点是很有意义的。但这很烦人和令人困惑。
是否可以停止这种行为?
答案 0 :(得分:3)
将Name
属性添加到路线。
[Route("api/values", Name = "values1")]
[Route("api/{systemId}/values", Name = "values2")]
这将在div
中创建包含端点规范的不同ID,因此它将仅扩展所需的ID。