ASP.NET WebAPI操作参数是否可以从Swashbuckle/Swagger UI中排除



我的实际情况是,我允许在实现自定义参数绑定的API控制器上使用参数绑定进行依赖项注入。

例如,控制器动作可能如下所示:

public async Task<IHttpActionResult> GetByIdAsync(Guid id, ICustomerFacade customerFacade)

当我使用Swashbuckle生成的Swagger UI来探索我的API时,customerFacade被指定为实际和必需的资源操作参数。

你知道从生成的Swagger UI中排除控制器动作参数的方法吗?

注意:我知道一个解决方法可以是使用构造函数注入注入依赖项,但我仍然希望能够同时进行构造函数和常规方法依赖项注入

我不是肯定的,但我认为应该将依赖项注入控制器构造函数,而不是Get方法。

所以,你的班级会有:

private ICustomerFacade _customerFacade;
public MyController(ICustomerFacade customerFacade)
{
     _customerFacade = customerFacade;
}
public async Task<IHttpActionResult> GetByIdAsync(Guid id){
     return Ok(_customerFacade.getCustomer(id));
}

除非您希望调用您的api的客户端负责注入customerFacade。。。

最新更新