Magicodes.SwaggerUI 已支持.NET Core 3.1

Magicodes.SwaggerUI

通过配置文件简单配置即可快速完成SwaggerUI的配置,包括:

  • SwaggerUI的文档信息
  • API分组
  • API隐藏
  • API JSON生成(枚举、API架构Id)
  • 验证
  • 自定义页面

支持.NET Core 2.2和3.1。版本日志和使用教程见下文。

注意:AddCustomSwaggerGen和UseCustomSwaggerUI已分别替换为“AddMagicodesSwaggerGen”、“UseMagicodesSwaggerUI”。

更新日志

2020.03.07

  • 【Nuget】Magicodes.SwaggerUI 3.0.2
  • 【升级】支持.NET Core 3.1
  • 【重构】支持自定义逻辑编写:
    • AddMagicodesSwaggerGen添加Action<SwaggerGenOptions, SwaggerConfigInfo>参数,可以实现自定义逻辑
    • UseMagicodesSwaggerUI添加Action<SwaggerUIOptions, SwaggerConfigInfo>参数,可以实现自定义逻辑

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.AddMagicodesSwaggerGen(_appConfiguration);
}

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

特点

  • 通过配置文件简单配置即可完成SwaggerUI的API格式JSON生成和集成

  • 支持API分组和隐藏

  • 支持自定义页面和验证
我来评几句
登录后评论

已发表评论数()

相关站点

热门文章