fletu / Magicodes.SwaggerUI

快速配置和集成SwaggerUI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Magicodes.SwaggerUI

快速配置和集成SwaggerUI

特点

  • 通过配置文件简单配置即可完成SwaggerUI的API格式JSON生成和集成
  • 支持API分组和隐藏
  • 支持自定义页面和验证

Nuget包

名称 Nuget
Magicodes.SwaggerUI NuGet

联系我们

订阅号

关注“麦扣聊技术”微信订阅号可以获得最新文章、教程、文档。

QQ群

  • 编程交流群<85318032>

  • 产品交流群<897857351>

文档官网&官方博客

其他开源库

更新日志

2019.10.21

  • 【Nuget】Magicodes.SwaggerUI 2.0.4
  • 【升级】单个文档不分组,显示所有API
  • 【梳理】梳理目录结构
  • 【修复】修复本地开发环境运行时不加载文档注释的问题
  • 【修改】自动移除GroupUrlPrefix的前后空格以及“/”前缀
  • 【升级】在全局隐藏API的基础上,支持分组API隐藏
  • 【升级】API隐藏支持HTTP方法配置,默认“*”

2019.10.19

  • 【升级】支持API分组,支持非侵入式配置,无需修改代码,仅通过配置即可完成API分组(见下面示例)
  • 【重构】重构整体逻辑

Demo

配置Demo

  "SwaggerDoc": {
    "IsEnabled": "true",
    //将枚举值以字符串显示
    "DescribeAllEnumsAsStrings": false,
    "SwaggerDocInfos": [
      {
        "IsEnabled": "true",
        "Title": "APP1 API文档",
        "Version": "v1",
        "GroupName": "App1",
        "Description": "",
        "Contact": {
          "Name": "心莱科技Team1",
          "Email": "xinlai@xin-lai.com"
        },
        "GroupUrlPrefix": "api/app1/"
      },
      {
        "IsEnabled": "true",
        "Title": "APP2 API文档",
        "Version": "v2",
        "GroupName": "App2",
        "Description": "",
        "Contact": {
          "Name": "心莱科技Team2",
          "Email": "xinlai@xin-lai.com"
        },
        "GroupUrlPrefix": "api/app2/",
        "HiddenApi": {
          "IsEnabled": "true",
          "Urls": [
            {
              "Url": "app2/Values/{id}",
              "HttpMethod": "Delete"
            }
          ]
        }
      }
    ],
    "HiddenApi": {
      "IsEnabled": "true",
      "Urls": [
        { "Url": "app1/Values/{id}" }
      ]
    },
    "UseFullNameForSchemaId": "false"
  }

注入代码:

//添加自定义API文档生成(支持文档配置)
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddCustomSwaggerGen(_appConfiguration);
}

public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
//启用自定义API文档(支持文档配置)
app.UseCustomSwaggerUI(_appConfiguration);
}

About

快速配置和集成SwaggerUI


Languages

Language:C# 97.5%Language:Batchfile 2.5%