ASP.NET Swagger API超载方法未显示端点



我正在使用swashbuckle swagger进行API文档,并且我的控制器具有4个端点,其中3个共享同名(但具有不同的参数(,并且Swagger不显示它们。我无法更改这些方法的名称,也不想解决冲突并仅采用第一个冲突。我想在Swagger UI上显示所有这些,但我不知道如何。

我尝试实施其他解决方法,例如指定路线注释等。

方法是这样的:

public IHttpActionResult Get([FromUri] int[] myId, [FromUri] int[] otherId, DateTime fromDate, DateTime toDate, bool allEntities = false)
public IHttpActionResult Get([FromUri] int[] myId, DateTime fromDate, bool allEntities = false)
public IHttpActionResult Get([FromUri] int[] myId, [FromUri] int[] otherId, DateTime date, string someOtherId = null, bool allEntities = false, string lan = "en")

所需的结果是在Swaggerui上显示所有这些方法,而不仅仅是第一个方法。有什么方法可以做到吗?

不幸的是,Swagger不允许这样做。我不知道每种方法的内容是什么样的,但是您可以考虑将三个方法组合成一种方法,该方法接受三个参数的组合,然后基于收到的参数,对任何现有方法进行逻辑,以最有意义的是(我认为您会以私人方法保持逻辑(。对不起,坏消息!

最新更新