我们有一个ASP.NET MVC Core应用程序,其中包含常规MVC控制器。此外,我们有一个名为“API”的子文件夹,位于Controllers文件夹中,包含少量API控制器。
我们正在使用“AddSwaggerGen”中的“.IncludeXmlComments”方法来获取项目中的XML文档。但是,它也会获取我们所有常规控制器的XML。
是否有一种方法可以过滤掉“常规”控制器,或者仅选择API控制器以包含在swagger文档中?
我们正在使用“AddSwaggerGen”中的“.IncludeXmlComments”方法来获取项目中的XML文档。但是,它也会获取我们所有常规控制器的XML。
是否有一种方法可以过滤掉“常规”控制器,或者仅选择API控制器以包含在swagger文档中?
return methodInfo.DeclaringType.GetCustomAttributes<Microsoft.AspNetCore.Mvc.ApiControllerAttribute>(true).Any();
因此,如果控制器使用了ApiControllerAttribute进行装饰,则包含在Swagger文档中,否则忽略。非常好用。 - SimonGoldstone