Swagger自动生成在线文档
前言:记一次Swagger的简单使用,包含添加语言汉化、控制器注释、HTTP请求头添加

1、新建项目WebApi,并添加nuget包引用:Swashbuckle 和 Swagger.Net.UI

2、删除Swagger.Net包等多余文件
1、此包是Swagger.Net.UI包添加时附带的依赖项,由于与Swashbuckle功能重复,所以需要删除
2、删除SwaggerUi文件夹及下属文件,资源文件已重复存在,直接删除这个文件夹
3、删除App_Start文件夹中SwaggerNet.cs文件,此文件与WebApiConfig.cs功能重复,并可能产生冲突
3、配置SwaggerConfig.cs文件
SwaggerConfig文件中配置信息如下
/// <summary>
/// 注册Swagger
/// </summary>
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
var xmlFile = string.Format("{0}/bin/ZTcms.WebApi.xml", System.AppDomain.CurrentDomain.BaseDirectory);
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
// 用于启用和设置Swagger的配置信息。
c.SingleApiVersion("v1", "ZTcms.WebApi");
//获取项目指定路径下xml文件
c.IncludeXmlComments(xmlFile);
//c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
//用于Controller控制器的注释信息展示
c.CustomProvider((defaultProvider) => new SwaggerExtensions(defaultProvider, xmlFile));
//用于请求头过滤器加载
c.OperationFilter<SwaggerHeaderFilter>();
})
.EnableSwaggerUi(c =>
{
//路径规则,项目命名空间.文件夹名称.js文件名称
c.InjectJavaScript(thisAssembly, "ZTcms.WebApi.Scripts.swaggerui.swagger_lang.js");
});
}
代码写完后,右击解决方案的当前项目属性,在生成栏目中,生成XML