ASP.NET WebAPI 使用Swagger在线接口文档

关于 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包;

ASP.NET WebAPI 使用Swagger在线接口文档_第1张图片

4、安装完之后选择项目,右键》属性》生成》输出-XML文档文件 勾选保存

ASP.NET WebAPI 使用Swagger在线接口文档_第2张图片

5、运行项目 地址输入swagger\ui\index

我们发现swagger程序集报错

ASP.NET WebAPI 使用Swagger在线接口文档_第3张图片

解决方案:

发生上述错误,请在,SwaggerNet类中,注释类上面的两行,就会运行成功

ASP.NET WebAPI 使用Swagger在线接口文档_第4张图片

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文档文件路径

你可能感兴趣的:(swagger)