Twitter Feed Popout byInfofru

C# WebAPI Swagger 使用笔记

> 最近做了个小项目,Api这块一致没有整理文档。刚好了解到 Swagger,借此机会整理下常用的方法分享给有需要的小伙伴。不足之处还请指出

 

1. 项目引入

2. Action 说明

3. Controller 说明

4. 通用参数配置

5. 美化UI

 

#### 项目引入

 - nuget 搜索 Swashbuckle.AspNetCore 并安装 本项目引入的是 4.0.1版本

 - Startup.cs 添加代码

 ```

 public void ConfigureServices(IServiceCollection services)

 {

       

    services.AddSwaggerGen(c =>
    {

        typeof(ApiVersions).GetEnumNames().ToList().ForEach(version =>
        {
            c.SwaggerDoc(version, new Info
            {
                Version = version,
                Title = $"Itool Api"
            });
        });

        var basePath = AppContext.BaseDirectory;

        var xmlPath = Path.Combine(basePath, "Swagger.xml");

        c.OperationFilter<AssignOperationVendorExtensions>();
        c.DocumentFilter<ApplyTagDescriptions>();

        c.IncludeXmlComments(xmlPath);


    });

 }

 

public void Configure(IApplicationBuilder app)

{

    app.UseSwagger(c =>
    {
        c.PreSerializeFilters.Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value);
    });

    app.UseHSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs"); });

}

 

 ```

> xmlPath  是 xml文档文件地址、AssignOperationVendorExtensions 添加通用参数、ApplyTagDescriptions 添加 Controller 说明 后面会说明

 

#### Action 说明

1. 右键项目选择 属性

2. 这里目录选择项目根目录下

3. 

 

#### Controller 说明

 1.  ApplyTagDescriptions.cs (3.08 kb)

 

#### 通用参数配置

 1.  AssignOperationVendorExtensions.cs (1.92 kb)

 2.  SwaggerFileUploadAttribute.cs (524.00 bytes)

 

#### UI美化

Core.SwaggerUI.zip (1.10 mb)

 

#### 运行效果截图

 

评论 (3) -