关于 Swagger
Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:
- Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
- Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
- Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
- Swagger 有一个强大的社区,里面有许多强悍的贡献者。
Swagger 文档提供了一个方法,使我们可以用指定的 JSON 或者 YAML 摘要来描述你的 API,包括了比如 names、order 等 API 信息。
你可以通过一个文本编辑器来编辑 Swagger 文件,或者你也可以从你的代码注释中自动生成。各种工具都可以使用 Swagger 文件来生成互动的 API 文档。
创建Swagger组建
1、首先,创建WebApi的项目文件;
2、工具》Nuget包管理器》管理解决方案的Nuget程序包;
3、搜索Swagger,安装Swashbuckle和Swagger-Net、Swagger-Net-Ui包;
4、安装完之后选择项目,右键》属性》生成》输出-XML文档文件 勾选保存
5、运行项目 地址输入swagger\ui\index
我们发现swagger程序集报错
解决方案:
发生上述错误,请在,SwaggerNet类中,注释类上面的两行,就会运行成功
6、注释配置
运行项目之后,我们发现在项目写的注释并没有在swagger页面上面展示,所以我们现在开开启注释;
在SwaggerConfig类中,EnableSwagger的时候添加下面XML解析
using System.Web.Http;
using WebActivatorEx;
using DianshiStandard.Web;
using Swashbuckle.Application;
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace DianshiStandard.Web
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "DianshiStandard.Web");
//添加XML解析
c.IncludeXmlComments(GetXmlCommentsPath());
})
.EnableSwaggerUi(c =>
{
});
}
//添加XML解析
private static string GetXmlCommentsPath()
{
return string.Format("{0}/bin/DianshiStandard.Web.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}
}
}
注意,该路径为步骤4时添加的XML文档文件路径