当前位置: 首页 > 知识库问答 >
问题:

可以从Swashbuckle/Swagger UI中排除ASP.NET web API操作参数吗?

应俊爽
2023-03-14

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

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

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

当我使用Swashbuckle生成的Swagger UI探索我的API时,< code>customerFacade被指定为一个实际的和必需的资源动作参数。

您知道从生成的 Swagger UI 中排除控制器操作参数的任何方法吗?

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

共有1个答案

庄高谊
2023-03-14

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

所以,你的班级应该有:

private ICustomerFacade _customerFacade;

public MyController(ICustomerFacade customerFacade)
{
     _customerFacade = customerFacade;
}

public async Task<IHttpActionResult> GetByIdAsync(Guid id){
     return Ok(_customerFacade.getCustomer(id));
}

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

 类似资料:
  • 我正在使用ASP.NET 5 如果我将其中一个命令模型名称更改为不同的名称,那么Swagger就可以工作了。然而,我相信这个嵌套类模型名称是合法的,也应该与swagger一起使用。如果有办法解决这个问题。谢谢

  • 我有一个场景,我的ASP.NETWEB API返回2个不同的模型,这取决于请求对象。我正在使用swagger UI(通过swashuckle)来记录我的ASP.NETWEB API,目前无法找到一种方法来记录这2个模型对1ASP.NETWEB API操作。我试过谷歌搜索,但没有结果。任何帮助都将不胜感激。

  • Lombok项目的类注释,ToString,用于在其注释的类内自动生成一个ToString()方法。 对于这个类: 调用生成的toString()方法将生成以下输出: 注释的可选元素可用于包含或排除特定字段,但我想知道的是... 可能类似于:

  • 如何在ASP.NET Core2.1项目中设置swagger属性?根据这篇文章,我应该使用,但我在swashbuckle.aspnetcore库中找不到它。还有 而且我找不到任何用于大摇大摆生成目的的实现。

  • Get-ChildItem-排除参数如何工作?它遵循什么规则? Get-Help for Get-ChildItem一点也不详细: 省略指定的项目。此参数的值限定路径参数。输入路径元素或模式,例如“*.txt”。允许使用通配符。 在Stackoverflow和其他方面,普遍的共识似乎是它太难使用,我们都应该通过管道将Get ChildItem的输出传递到Where对象。 虽然我愿意使用Where对

  • 您可以使用Jacoco代理运行JUnit测试,以生成出色的覆盖率报告。(它在运行单元测试期间生成一个不透明的文件)。 现在,surefire有一个参数可以从文件中加载排除。