Asp.Net Mvc WebApi集成Swagger

看到好多都用Swagger生成API文档,但是在网上找了几个blog根据写了之后,发现一下坑,现记录下来

1、新建一个项目,SwaggerMvc5Demo,如果选择mvc项目,需要引用web API引用。或者直接选择Web API项目。

2、添加对Swagger的引用:在nuget中搜索:Swashbuckel,现在的版本为5.6.0;进行安装

3、点击项目->属性->生成,在输出栏中选择:XML文档文件,前面的复选框进行打勾。生成xml文档

4、配置SwaggerConfig.cs文件

在EnableSwagger中找到注释的内容:

注释内容: 

//c.IncludeXmlComments(GetXmlCommentsPath());

 大约在104行,取消注释,添加方法:GetXmlCommentsPath(),返回项目xml文件所在路径

protected static string GetXmlCommentsPath()
{
     return $"{System.AppDomain.CurrentDomain.BaseDirectory}\\bin\\SwaggerMvc5Demo.xml";
}

 5、在_Layout.cshtml中添加超链接到swagger

6、点击CTRL+F5,运行项目,点击Swagger Help,看到界面如下,有可能controller的方法时隐藏的,只需点击Show/Hide进行显示/隐藏操作即可