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包

Magicodes Nuget包推荐

相关Nuget包

联系我们

订阅号

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

QQ群

  • 编程交流群<85318032>

  • 产品交流群<897857351>

文档官网&官方博客

  • 文档官网:https://docs.xin-lai.com/

  • 博客:http://www.cnblogs.com/codelove/

其他开源库

  • https://github.com/xin-lai

  • https://gitee.com/magicodes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTA天梯赛L1-006 连续因子 (20分)

题目&#xff1a; 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3567&#xff0c;其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N&#xff0c;要求编写程序求出最长连续因子的个数&#xff0c;并输出最小的连续因子序列。 输入格式&#xff1a; …

C++ 多态实现的三个条件

多态实现的三个条件&#xff1a; 1.必须是公有继承 2.必须是通过基类的指针或引用 指向派生类对象 访问派生类方法 3.基类的方法必须是虚函数&#xff0c;且完成了虚函数的重写

[推荐]大量 Blazor 学习资源(二)

继上一篇《[推荐]大量 Blazor 学习资源&#xff08;一&#xff09;》之后&#xff0c;社区反应不错&#xff0c;但因个人原因导致这篇文章姗姗来迟&#xff0c;不过最终还是来了&#xff01;这篇文章主要收集一些常用组件、书籍和电子书。资料来源&#xff1a;https://github.c…

Golang实现最大堆/最小堆

Golang实现最大堆/最小堆 参考&#xff1a; https://yangjiahao106.github.io/2019/01/15/golang-%E6%9C%80%E5%A4%A7%E5%A0%86%E5%92%8C%E6%9C%80%E5%B0%8F%E5%A0%86/ https://studygolang.com/articles/24288 方法一 此方法就是比较传统、常见的方法&#xff0c;下面来构建一…

团体程序设计天梯赛-练习集L1-011 A-B (20分)getline输入

little tips&#xff1a;关于天梯赛不能用gets 题目&#xff1a; 本题要求你计算A−B。不过麻烦的是&#xff0c;A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉&#xff0c;剩下的字符组成的就是字符串A−B。 输入格式&#xff1a; 输入在2行中先后给出字…

Sql Server之旅——第八站 看公司这些DBA们设计的这些复合索引

这一篇再说下索引的最后一个主题&#xff0c;索引覆盖&#xff0c;当然学习比较好的捷径是看看那些大师们设计的索引&#xff0c;看从中能提取些什么营养的东西&#xff0c;下面我们看看数据库中一个核心的Orders表。一&#xff1a;查看表的架构1. 先查看这个表的大概架构信息-…

C++ setprecision()用法

io 流控制头文件, 主要是一些操纵用法如setw(int n),setprecision(int n) #include < iomanip > setw(n)用法&#xff1a; 通俗地讲就是预设宽度 #include<iostream> #include <iomanip> using namespace std;int main() {cout << setw(5) <<…

备战ccpc分站赛:秦皇岛和威海站(数论模块和dp模块)

挑战程序设计竞赛&#xff08;第2版&#xff09;练习题 tips&#xff1a;难度&#xff08;个人主观判断&#xff09;&#xff1a; 简单* 简单但卡思维 ** 中 *** 中稍加思考 **** 难 ***** 1 . 记录结果再利用的“动态规划” &#xff08;1&#xff09;基础的动态规划算法&am…

Go 排序方式

参考&#xff1a; https://segmentfault.com/a/1190000016514382 &#xff08;值得一看&#xff09; Go 常见排序方式 整数、浮点数、字符串切片排序 sort包提供了一下几种排序函数&#xff1a; sort.Ints(x []int)sort.Float64s(x []float64)sort.Strings(x []string) 使用…

15分钟从零开始搭建支持10w+用户的生产环境(四)

上一篇文章&#xff0c;介绍了这个架构中&#xff0c;WebServer的选择&#xff0c;以及整个架构中扩展时的思路。原文地址&#xff1a;15分钟从零开始搭建支持10w用户的生产环境(三)五、架构实践前边用了三篇文章&#xff0c;详细介绍了这个架构的各个部分的选择以及安装。这篇…

[Java基础]体验Stream流

代码如下: package StreamTest;import java.lang.reflect.Array; import java.util.ArrayList;public class StreamDemo {public static void main(String[] args){ArrayList<String> list new ArrayList<String>();list.add("Tom");list.add("ja…

Cow Bowling POJ - 3176(基础的动态规划算法)

题意&#xff1a; 杨辉三角&#xff0c;让从顶部开始走到底部&#xff0c;所经过的每一层的点数相加&#xff0c;使得实现最高和。 题目&#xff1a; The cows don’t use actual bowling balls when they go bowling. They each take a number (in the range 0…99), thoug…

[Java基础]Stream流的常见生成方式

1.Collection体系的集合可以使用默认方法stream()生成流 default Stream< E > stream() 代码如下: package StreamTest;import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Stream;public …

个人认为值得阅读的文章/博客

个人认为值得阅读的文章/博客 [典藏版] Golang 调度器 GMP 原理与调度全分析CDN是什么&#xff1f;使用CDN有什么优势&#xff1f;

Sumsets POJ - 2229(计数dp)

题意&#xff1a; 给一个数&#xff0c;是集合的总数和&#xff0c;集合元素只能为2的次幂数&#xff0c;问这样的集合有多少&#xff1f; 题目&#xff1a; Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows…

15分钟从零开始搭建支持10w+用户的生产环境(二)

上一篇文章&#xff0c;把这个架构的起因&#xff0c;和操作系统的选择进行了详细说明。原文地址&#xff1a;15分钟从零开始搭建支持10w用户的生产环境(一)二、数据库的选择对于一个10W用户的系统&#xff0c;数据库选择很重要。一般来说&#xff0c;这个用户量&#xff0c;根…

[Java基础]Stream流的常见中间操作方法

代码如下: package StreamTest;import java.util.ArrayList;public class StreamDemo02 {public static void main(String[] args){ArrayList<String> list new ArrayList<String>();list.add("Tom");list.add("Bom");list.add("jack&q…

GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)

题目&#xff1a;GCD and LCM Aizu - 0005 Write a program which computes the greatest common divisor (GCD) and the least common multiple (LCM) of given a and b. Input Input consists of several data sets. Each data set contains a and b separated by a singl…

云原生初探

文章目录什么是云原生&#xff1f;第二讲 容器的基本概念什么是容器&#xff1f;容器运行时的生命周期容器项目的架构容器和VM的差异第三讲 Kubernetes核心概念什么是KubernetesKubernetes架构Kubernetes核心概念和API第四讲 理解Pod和容器设计模式为什么Pod必须是原子调度单位…

15分钟从零开始搭建支持10w+用户的生产环境(三)

上一篇文章介绍了这个架构中&#xff0c;选择MongoDB做为数据库的原因&#xff0c;及相关的安装操作。原文地址&#xff1a;15分钟从零开始搭建支持10w用户的生产环境(二)三、WebServer在SOA和gRPC大行其道的今天&#xff0c;WebServer在系统中属于重中之重&#xff0c;是一个系…