是否可以强制 NSwag 为 ASP.NET MVC 控制器(不是 ApiController!)生成 OpenAPI 架构/SwaggerUi

问题描述 投票:0回答:2

我根据官方 wiki 使用 GlobalAsax.cs(.NET Framework)对 ASP.NET MVC 项目进行了非常基本的设置。 由于某些原因,我必须使用 MVC 控制器(

System.Web.Mvc.Controller
继承)作为 API(外部框架的要求,无法更改)。 NSwag 忽略 MVC 控制器,除了手动使用
WebApiOpenApiDocumentGenerator
之外,有没有办法强制将它们添加到架构中?

asp.net-mvc swagger-ui openapi nswag .net-4.8
2个回答
2
投票

解决方案非常简单:不使用 UseSwaggerUi/UseSwaggerUi3 的程序集类型,而是显式传递所有控制器类型(有一个重载,接受

IEnumerable<Type> types
)。


0
投票

我最近也遇到这个问题了。经过一番研究,我发现可以通过自己添加控制器类型来解决。这是代码:

Startup.cs

app.UseSwaggerUi(new List<Type>
{
    typeof(ProductController),
    typeof(CartController),
    typeof(OrderController),
}, (s) =>
{
    
});
© www.soinside.com 2019 - 2024. All rights reserved.