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分组和隐藏


- 支持自定义页面和验证
Nuget包
| 名称 | Nuget |
|---|---|
| Magicodes.SwaggerUI |
Magicodes Nuget包推荐
相关Nuget包
| 名称 | 说明 | Nuget | GitHUb |
|---|---|---|---|
| Magicodes.IE.Excel | Excel导入导出 | dotnetcore/Magicodes.IE | |
| Magicodes.IE.Core | 导入导出核心库 | dotnetcore/Magicodes.IE | |
| Magicodes.IE.HTML | HTML导入导出 | dotnetcore/Magicodes.IE | |
| Magicodes.IE.Pdf | Pdf导出 | dotnetcore/Magicodes.IE | |
| Magicodes.IE.Word | Word导出 | dotnetcore/Magicodes.IE | |
| Magicodes.IE.Csv | Csv导入导出 | dotnetcore/Magicodes.IE | |
| Magicodes.WeChat.MiniProgram | 小程序SDK | Magicodes.WxMiniProgram.Sdk | |
| Magicodes.Sms.Aliyun | 阿里云短信 | xin-lai/Magicodes.Sms | |
| Magicodes.Sms.Core | 短信核心库 | xin-lai/Magicodes.Sms | |
| Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 | xin-lai/Magicodes.Sms | |
| Magicodes.Storage.Core | 通用存储核心库 | xin-lai/Magicodes.Storage | |
| Magicodes.Storage.AliyunOss.Core | 阿里云OSS存储 | xin-lai/Magicodes.Storage | |
| Magicodes.Storage.Local.Core | 本地存储 | xin-lai/Magicodes.Storage | |
| Magicodes.Storage.Tencent.Core | 腾讯云存储 | xin-lai/Magicodes.Storage | |
| Magicodes.Storage.Abp.Core | 通用存储ABP模块集成 | xin-lai/Magicodes.Storage | |
| Magicodes.WeChat.SDK.Core | 微信SDK | xin-lai/Magicodes.WeChat.SDK | |
| Magicodes.SwaggerUI | SwaggerUI API快速配置和分组 | xin-lai/Magicodes.SwaggerUI | |
| Magicodes.Pay.Alipay | 支付宝支付库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Notify | 支付通用回调库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Wxpay | 微信支付库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Alipay.Global | 国际支付宝支付库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Allinpay | 通联支付库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Abp | ABP 支付通用封装库 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Abp.Allinpay | ABP 通联支付模块 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Abp.Wxpay | ABP 微信支付模块 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Alipay.Global | ABP 国际支付宝模块 | xin-lai/Magicodes.Pay | |
| Magicodes.Pay.Alipay | ABP 支付宝模块 | xin-lai/Magicodes.Pay | |
| Magicodes.Abp.Castle.NLog | ABP Nlog支持模块 | xin-lai/Abp.Castle.NLog | |
| Magicodes.WxMiniProgram.Sdk | 微信小程序SDK | xin-lai/Magicodes.WxMiniProgram.Sdk | |
| Magicodes.WxMiniProgram.Sdk.Abp | 微信小程序SDK Abp模块 | xin-lai/Magicodes.WxMiniProgram.Sdk | |
| Magicodes.Dingtalk.SDK | 钉钉SDK | xin-lai/Magicodes.Dingtalk.SDK | |
| Magicodes.DynamicSqlApi.Core | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
| Magicodes.DynamicSqlApi.All | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
| Magicodes.DynamicSqlApi.CsScript | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
| Magicodes.DynamicSqlApi.Dapper | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
| Magicodes.DynamicSqlApi.SqlServer | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi |
联系我们
其他开源库
Magicodes.SwaggerUI 已支持.NET Core 3.1的更多相关文章
- Magicodes.Pay已支持Volo Abp
Magicodes.Pay已支持Volo Abp 简介 Magicodes.Pay希望打造一个统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core.目前已 ...
- 开源:Taurus.MVC 框架 (已支持.NET Core)
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- Magicodes.IE已支持导出Word、Pdf和Html
关于Magicodes.IE 导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持Excel.Word.Pdf和Html. GitHub地址:https://github.com/xin-la ...
- 开源:ASP.NET Aries 开发框架(已支持.NET Core)
前言: 随着岁月的推进,不知不觉已在.NET这领域上战斗了十年了. 青春还没来得急好好感受,却已是步入健忘之秋的老人一枚了. 趁着还有点记忆,得赶紧把硬盘里那私藏的80G除外的东西,和大伙分享分享. ...
- ASP.NET Aries 开发框架(已支持.NET Core)
背景: 当年,在卖弄与开源QBlog时,也曾想过把QBlog的开发理念整理整理,独立一个框架来开源. 不过,人越长大就越憔悴,激情终敌不过疲惫的惰性,最终无痕而终,连3.0的版本也没开源出来. 关于框 ...
- MySQL官方.NET Core驱动已出,支持EF Core
千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功能已经可用. NuGet 地址:https:/ ...
- NET Core驱动已出,支持EF Core
NET Core驱动已出,支持EF Core 千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功 ...
- [开源].NET高性能框架Chloe.ORM-完美支持.NET Core
扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...
- CYQ.Data 正式支持 DotNET Core 版本发布
闲话几句: 自从上周开始,IOS人员逝去,就开始接手IOS的代码了. 并开始整理IOS的代码(包括当时一开始设计的开发框架). 在未来不远的日子里,设想是有一个系列详细的介绍I恋App和IT连App及 ...
随机推荐
- Windows+Ubuntu双系统 ,Ubuntu安装
这篇只是简单记录自己在Win10下另安装Ubuntu系统. 不是教程,因为不会. 推荐一个教程:https://blog.csdn.net/weixin_37029453/article/detail ...
- MySQL 中 on与where筛选条件的区别
在两张表连接的时候才会有on的筛选条件,那么on和where的区别是什么呢? 在inner join中是没有区别的,但是在左连接和右连接中,区别就体现出来了,下面以左连接为例: 1.用on的时候,只对 ...
- 给springboot增加XSS跨站脚本攻击防护功能
XSS原理 xss攻击的原理是利用前后端校验不严格,用户将攻击代码植入到数据中提交到了后台,当这些数据在网页上被其他用户查看的时候触发攻击 举例:用户提交表单时把地址写成:山东省济南市<scri ...
- Java 函数式接口
目录 Java 函数式接口 1. 函数式接口 1.1 概念 1.2 格式 1.3 函数式接口的使用 2. 函数式编程 2.1 Lambda的延迟执行 性能浪费的日志案例 使用Lambda表达式的优化 ...
- js获取session对象
- Linux的vi和vim编辑器
Linux中分为:一般模式,插入模式和底行模式 一般模式(通过按iaoIAO键)-->插入模式 插入模式(按Esc键)--> 一般模式 一般模式(通过按:键)-->底行模式 底行模式 ...
- crontab自动启动小任务例子(每一分钟将当前日期打入一个文件)
crontab -l #查看当前定时任务列表 显示没有,那么我们来安装一下(必须在root用户下) – yum install vixie-cron – yum install crontabs ...
- QTableWidget自定义委托
QTableWidget单元格使用自定义的lineEdit控件导致不能选中 使用自定义委托解决 1.自定义委托 class LineEditDelegate : public QItemDelegat ...
- Nginx下的location,upstream,rewrite 和 proxy_pass使用总计大全
一 . location: 顾名思义-->地址,也叫路由. nginx服务器非常核心的配置,一般nginx运维人员在修改nginx配置时,大部分也是围绕着location这个配置进行修改. 下面 ...
- python --内建结构 汉诺塔结构
规则: 1.每次移动一个盘子 2.任何时候大盘子在下面,小盘子在上面 方法: 1.n=1:直接将A上的盘子移动到c 上面,A->C 2.n=2: 1>A->B 2>A-> ...