我正在用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中显示第二种方法?谢谢!
答案 0 :(得分:1)
要回答您的第一个问题,您可以通过为它们定义不同的端点来获得所有三种GET方法。对于每个GET方法,添加以下属性:[HttpGet(&#34; the_end_point_you_want&#34;)]。
IE)
[HttpGet("/GetbID/{bId})")
[ResponseType(typeof(IEnumerable<A>))]
public IHttpActionResult Get(int bId)
[HttpGet("/GetListcId")]
[ResponseType(typeof(IEnumerable<A>))]
public IHttpActionResult Get(IList<int> cIds)
对于你的第二个问题,我不确定为什么选择第二个GET,但我的猜测是SwashBuckle如何检索每个GET方法。
希望这有帮助