【发布时间】:2017-08-15 03:43:21
【问题描述】:
我正在用 Swashbuckle 编写一个 api,但遇到了问题。我的 AController 中有三个 Get 方法:
[ResponseType(typeof(IEnumerable<A>))]
public IHttpActionResult Get(int bId);
[ResponseType(typeof(IEnumerable<A>))]
public IHttpActionResult Get(IList<int> cIds);
[ResponseType(typeof(IEnumerable<A>))]
public IHttpActionResult Get(int bId, IList<int> cIds);
我希望出现有关重载端点的错误,或者它可以与具有两个可选参数的单个 get 方法一起使用,涵盖所有情况。相反,我只显示第二种方法,这似乎是任意的。
我想知道,有没有什么方法可以让这三种方法都起作用,另外,第二种方法显示在 UI 中是否有任何理由?谢谢!
【问题讨论】:
-
您能否提供更完整的接口和类实现示例?我对
Swagger或Swashbuckle都不熟悉,但我猜您的问题不在您在此处发布的内容中。或者,您可能没有进行良好的重建。尝试彻底清理您的解决方案...进入文件夹并手动删除解决方案的每个项目中的所有bin和obj文件夹。然后进行新的构建。 -
感谢您的建议,我已经排除了重建的可能性,它没有帮助。我即将编辑以添加更多细节,但我知道 Swagger 对 api 的设计非常挑剔。例如,人们会遇到的一个常见问题是:github.com/domaindrivendev/Swashbuckle/issues/142
-
你能达到所有三种方法吗?我猜只有一种方法设置了路由。
标签: c# swagger swashbuckle