背景: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相关推荐

  1. Spring Cloud Zuul中使用Swagger汇总API接口文档

    有很多读者问过这样的一个问题: 虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档 ...

  2. 在spring boot中集成Swagger

    Swagger 在spring boot中集成Swagger 新建一个swagger项目 maven依赖 <!-- https://mvnrepository.com/artifact/io.s ...

  3. Spring Boot中使用Swagger CodeGen生成REST client

    文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring B ...

  4. asp.net core 3.0 中使用 swagger

    asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...

  5. ASP.NET Core Web API中使用Swagger

    本节导航 Swagger介绍 在ASP.NET CORE 中的使用swagger   在软件开发中,管理和测试API是一件重要而富有挑战性的工作.在我之前的文章<研发团队,请管好你的API文档& ...

  6. Spring Cloud Zuul中使用Swagger汇总API接口文档 1

    有很多读者问过这样的一个问题:虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档中 ...

  7. 聚合微服务中的 Swagger API 文档

    没有做 API 文档聚合,访问每个服务的 API 文档都需要访问单独的 swagger-ui.html 页面,既然我们使用了微服务,就应该有统一的 API 文档入口,而 knife4j 有这方面的支持 ...

  8. 浅析如何在Nancy中使用Swagger生成API文档

    原文:浅析如何在Nancy中使用Swagger生成API文档 前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善 ...

  9. 如何在gateway网关中聚合swagger

    前言 由于项目原因,需要将网关从zuul升级到gateway网关,由于 gateway网关底层是基于webflux的,导致原先在网关中集成的swagger不可用. 那么如何在gateway网关中整合s ...

最新文章

  1. Uva1595 对称轴
  2. Entity Framework简介
  3. 小师妹学JavaIO之:try with和它的底层原理
  4. 优集品 php,从细节处着眼 优集品打造成人世界的儿童节
  5. 查看和修改Oracle数据库服务器端的字符集
  6. 数据驱动开发_开发数据驱动的股票市场投资方法
  7. java获取异常堆栈详情
  8. JS实现透明度渐变动画
  9. iOS 面试题分析(二)
  10. C++笔记------数据类型
  11. 数据库连接工具sqldbx、dbvisualizer使用笔记
  12. 腾讯地图获取经纬度 Java计算距离工具类
  13. 消灭非稳态噪音的利器 - AI 降噪
  14. mysql评论回复表设计_数据库设计——评论回复功能
  15. win7 修改屏幕休眠时间
  16. 基础内网信息探针思路
  17. input。file清除。js,jquery
  18. Python爬虫—爬取小说名著
  19. 【Qt实战派学习群】 建立啦!
  20. 上海国际能源交易中心大户持仓报告制度 操作指南

热门文章

  1. SDUT-3880 和泉纱雾
  2. 热门软件看点:IE和它的对手们
  3. 中山大学计算机专业二级学科,1.中山大学具有硕士学位授权一级学科、二级学科一览表-附件1.doc...
  4. Openstack: Neutron: permitted_ethertypesarp_responder
  5. ICU4C一些示例代码
  6. 苹果系统自带的计算机怎么恢复出厂设置方法,Mac电脑初始化、恢复出厂设置方法...
  7. python中单位转换_Python入门练习 - 简单的计量单位转换
  8. Bilibili 毛剑:Go 业务基础库之 Error
  9. “充钱”也难治快手的“亏亏亏”?
  10. ChatGPT的来源-InstructGPT论文简要介绍