【问题标题】:Tell Swashbuckle to only look for controllers that have the ApiControllerAttribute告诉 Swashbuckle 仅查找具有 ApiControllerAttribute 的控制器
【发布时间】:2019-05-30 11:24:02
【问题描述】:

我正在开发一个 Web MVC 项目,在其中我想要一些 api 控制器供外部应用使用。

我的 API 控制器上有 ApiController 属性。

不幸的是,Swashbuckle 获取了所有控制器/动作。
有没有办法告诉它只查找 Api 控制器?

谢谢。

【问题讨论】:

  • 你是用 asp.net core mvc 还是 asp.net mvc 开发的?如果是asp.net core,.net core版本和Swashbuckle.AspNetCore版本是什么?我用asp.net core 2.2和Swashbuckle.AspNetCore 4.0.1做了一个测试,它只会生成ApiController的方法。另外,您可以尝试参考github.com/domaindrivendev/Swashbuckle/issues/…

标签: c# asp.net-core .net-core asp.net-core-mvc swashbuckle


【解决方案1】:

你可以把它放在你想对 Swashbuckle 隐藏的控制器中

[ApiExplorerSettings(IgnoreApi = true)]
public class UserController : Controller

【讨论】:

  • 这是一个有效的解决方案,但我必须把它放在我所有的控制器中,这有点太累了......
  • 也许您可以创建自己的BaseController,它继承自Controller,并在其中放入[ApiExplorerSettings(IgnoreApi = true)],然后将您想要忽略的控制器中的Controller替换为新的BaseController
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多