我根据官方 wiki 使用 GlobalAsax.cs(.NET Framework)对 ASP.NET MVC 项目进行了非常基本的设置。 由于某些原因,我必须使用 MVC 控制器(
System.Web.Mvc.Controller
继承)作为 API(外部框架的要求,无法更改)。 NSwag 忽略 MVC 控制器,除了手动使用 WebApiOpenApiDocumentGenerator
之外,有没有办法强制将它们添加到架构中?
解决方案非常简单:不使用 UseSwaggerUi/UseSwaggerUi3 的程序集类型,而是显式传递所有控制器类型(有一个重载,接受
IEnumerable<Type> types
)。
我最近也遇到这个问题了。经过一番研究,我发现可以通过自己添加控制器类型来解决。这是代码:
在
Startup.cs
app.UseSwaggerUi(new List<Type>
{
typeof(ProductController),
typeof(CartController),
typeof(OrderController),
}, (s) =>
{
});