.Net5中使用Swagger
背景:Swagger的好处真是很多,可以作为前后端的沟通桥梁,也可以作为调试接口的入口,方便快捷,提升开发效率,下边将记录一下在.NetCore中使用Swagger
1.引用Nuget包--Swashbuckle.AspNetCore
2.在Startup.cs中ConfigureServices中添加Swagger服务
services.AddSwaggerGen(c =>{c.SwaggerDoc("v1", new OpenApiInfo { Title = "SwaggerDemo", Version = "v1" });});
其中配置启用了token验证
3.在Configure中添加swagger管道
if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "SwaggerDemo v1"));}
这样就好了
4.如果需要在swagger中对接口控制器分组以及需要在swagger中配置基于header的token认证,可以加一些配置
ConfigureServices中:
services.AddSwaggerGen(s =>{Dictionary<string, string> swaggerDic = new Dictionary<string, string>() {{"Common","公用接口" },{"User","用户管理接口" }};foreach (KeyValuePair<string, string> kv in swaggerDic){//第一个参数,必须与 api 的 GroupName 所使用的值保持一致。s.SwaggerDoc(kv.Key, new OpenApiInfo(){Version = "v1",//标题的右上角显示Title = $"{kv.Value} API",Description = $" {kv.Value} api 文档"});}s.IncludeXmlComments("WebApp.xml");//启用添加token验证输入地方s.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme{Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入{token}\"",Name = "token",//jwt默认的参数名称In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)Type = SecuritySchemeType.ApiKey});s.AddSecurityRequirement(new OpenApiSecurityRequirement{{new OpenApiSecurityScheme{Reference=new OpenApiReference(){Id="Bearer",Type=ReferenceType.SecurityScheme}},Array.Empty<string>() }});});
Configure:
app.UseSwagger();app.UseSwaggerUI(s =>{Dictionary<string, string> swaggerDic = new Dictionary<string, string>() {{"Common","公用接口" },{"User","用户管理接口" }};//配置每个控制器的地址foreach (KeyValuePair<string, string> kv in CommonUtils.swaggerDic){s.SwaggerEndpoint($"/swagger/{kv.Key}/swagger.json", kv.Value);//第一个参数必须与SwaggerDoc方法的第一个方法的参数保持一致, 最后一个参数是筛选条件}});
提示:在VS2019中创建.net 5的webapi时,通过勾选“启用openAPI”直接启用swagger
.Net5中使用Swagger相关推荐
- Spring Cloud Zuul中使用Swagger汇总API接口文档
有很多读者问过这样的一个问题: 虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档 ...
- 在spring boot中集成Swagger
Swagger 在spring boot中集成Swagger 新建一个swagger项目 maven依赖 <!-- https://mvnrepository.com/artifact/io.s ...
- Spring Boot中使用Swagger CodeGen生成REST client
文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring B ...
- asp.net core 3.0 中使用 swagger
asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...
- ASP.NET Core Web API中使用Swagger
本节导航 Swagger介绍 在ASP.NET CORE 中的使用swagger 在软件开发中,管理和测试API是一件重要而富有挑战性的工作.在我之前的文章<研发团队,请管好你的API文档& ...
- Spring Cloud Zuul中使用Swagger汇总API接口文档 1
有很多读者问过这样的一个问题:虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档中 ...
- 聚合微服务中的 Swagger API 文档
没有做 API 文档聚合,访问每个服务的 API 文档都需要访问单独的 swagger-ui.html 页面,既然我们使用了微服务,就应该有统一的 API 文档入口,而 knife4j 有这方面的支持 ...
- 浅析如何在Nancy中使用Swagger生成API文档
原文:浅析如何在Nancy中使用Swagger生成API文档 前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善 ...
- 如何在gateway网关中聚合swagger
前言 由于项目原因,需要将网关从zuul升级到gateway网关,由于 gateway网关底层是基于webflux的,导致原先在网关中集成的swagger不可用. 那么如何在gateway网关中整合s ...
最新文章
- Uva1595 对称轴
- Entity Framework简介
- 小师妹学JavaIO之:try with和它的底层原理
- 优集品 php,从细节处着眼 优集品打造成人世界的儿童节
- 查看和修改Oracle数据库服务器端的字符集
- 数据驱动开发_开发数据驱动的股票市场投资方法
- java获取异常堆栈详情
- JS实现透明度渐变动画
- iOS 面试题分析(二)
- C++笔记------数据类型
- 数据库连接工具sqldbx、dbvisualizer使用笔记
- 腾讯地图获取经纬度 Java计算距离工具类
- 消灭非稳态噪音的利器 - AI 降噪
- mysql评论回复表设计_数据库设计——评论回复功能
- win7 修改屏幕休眠时间
- 基础内网信息探针思路
- input。file清除。js,jquery
- Python爬虫—爬取小说名著
- 【Qt实战派学习群】 建立啦!
- 上海国际能源交易中心大户持仓报告制度 操作指南
热门文章
- SDUT-3880 和泉纱雾
- 热门软件看点:IE和它的对手们
- 中山大学计算机专业二级学科,1.中山大学具有硕士学位授权一级学科、二级学科一览表-附件1.doc...
- Openstack: Neutron: permitted_ethertypesarp_responder
- ICU4C一些示例代码
- 苹果系统自带的计算机怎么恢复出厂设置方法,Mac电脑初始化、恢复出厂设置方法...
- python中单位转换_Python入门练习 - 简单的计量单位转换
- Bilibili 毛剑:Go 业务基础库之 Error
- “充钱”也难治快手的“亏亏亏”?
- ChatGPT的来源-InstructGPT论文简要介绍