ASP.NET Core 在 Swagger UI 中显示自定义的 Header Token

Swagger 是个好东西,对于前后端分离的网站来说,不仅是提高前后端开发人员沟通效率的利器,也大大方便了后端人员测试 API。有时候,API 中可能需要在 Header 中设置认证参数,比如 authToken,这样的功能我们通常是使用 ActionFilter 实现的,这就会导致 swagger UI 中缺少 authToken 字段,下面就来介绍解决这个问题的办法。

创建一个过滤器类,内容如下:

/// <summary>
/// this class is for swagger to generate AuthToken Header filed on swagger UI
/// </summary>
public class AddAuthTokenHeaderParameter : IOperationFilter{  

 
public void Apply(Operation operation, OperationFilterContext context)    
{        

      if (operation.Parameters == null)            operation.Parameters = new List<IParameter>();    
      
var attrs = context.ApiDescription.GetActionAttributes();  
      
foreach (var attr in attrs)        {            // 如果 Attribute 是我们自定义的验证过滤器            if (attr.GetType() == typeof(Auth))            {                operation.Parameters.Add(new NonBodyParameter()                {                    Name = "AuthToken",                    In = "header",                    Type = "string",                    Required = false                });            }        }    } }

然后在配置 Swagger 的地方,做一些修改:

services.AddSwaggerGen(c =>{           
      c.SingleApiVersion(new Info(){            
                Version = "v1",          
                Title = "API 文档",                
                Description = "系统的 API 文档"});          
       c.OperationFilter<AddAuthTokenHeaderParameter>(); // 手动高亮});

最后,dotnet run

frameborder="0" scrolling="no" style="font-family: inherit; border-width: initial; border-style: none; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; vertical-align: baseline; width: 835px; height: 257px;">

这样,Swagger UI 中就显示了附加在 header 中的参数——AuthToken,还要啥 Postman。

相关文章: 

  • 在ASP.NET Core Web API上使用Swagger提供API文档

  • 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

原文地址:http://www.cnblogs.com/JacZhu/p/6188968.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

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

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

相关文章

nginx,excel模板下载

nginx&#xff0c;excel模板下载 weixin_30814223 2018-08-27 10:26:00 245 收藏 版权 spring boot项目&#xff0c;使用nginx服务器 最近在做一个功能是excel文件上传&#xff0c;并将其中的数据入库&#xff0c;同时还有一个文件模板下载 现在说一说这个文件模板下载 …

最全三大框架整合(使用映射)——DeptServiceImpl.java

/** * Title: DeptServiceImpl.java * Package org.service.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-18 下午2:21:42 * version V1.0 */ package org.service.impl;import org.dao.IDeptDao; import or…

方舟非主机服务器无限距离,方舟非专业服务器距离限制怎么解除 | 手游网游页游攻略大全...

发布时间&#xff1a;2016-08-03方舟适者生存服务器进不去 进不去服务器解决办法攻略.服务器进不去怎么办?很多玩家无法进入服务器,主要是两种情况,一种是点服务器游戏就重启,一种是进不去,这里给大家介绍解决方法. 一.点服务器 ...标签&#xff1a;游戏攻略 游戏秘籍 方舟&am…

zookeeper  虚拟机zookeeper和 win10java代码连接

28_支付服务注册进zookeeper 上面的都复习了 18 zookeeper替换Eureka zookeeper已经在你的centeros7上配置成功了 前提要求 19 20 21 22 zookeeper在centeros7 java代码在win10 23 24 25 我是在虚拟机新建的 因为视频是虚拟机的 26 27 28 http://127.0.0.1:80…

Hystrix---SpringCloud

Hystrix 服务熔断 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系&#xff0c;每个依赖关系在某些时候将不可避免失败&#xff01; 服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调…

ASP.NET Core 导入导出Excel xlsx 文件

ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件&#xff0c;EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出&#xff0c;可以运行在Windows, Linux和Mac。 EPPlus.Core 是基于EPPlus 更改而来&#xff0c;在Linux 下需要安装libgdiplus 。 EPPlus&#xff1a;http://…

Java se之动态代理

转载自 Java se之动态代理 jdk动态代理&#xff1a; jdk动态代理是 需要提供一个实现了InvocationHandler接口的处理类&#xff1b; 通过Proxy的newProxyInstance()方法&#xff0c;参数有三个&#xff0c;第一个是 类构造器classloader,第二个是目标类实现的接口&#xff0c…

最全三大框架整合(使用映射)——DeptAction.java

/** * Title: DeptAction.java * Package org.web * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-18 下午2:27:05 * version V1.0 */ package org.web;import org.entity.Dept; import org.service.IDeptService;i…

css黑科技有限公司,css动画之黑科技

正负旋转相消3D动画直接上代码&#xff1a;正负旋转相消body,html {overflow: hidden;}div {transform-style: preserve-3d;perspective: 500px;}.reverseRotate {margin: 20vh auto;}.rotate,.reverseRotate {width: 50vh;height: 50vh;}.content {width: 100%;height: 100%;l…

Zull路由网关---SpringCloud

Zull路由网关 概述 什么是zuul? Zull包含了对请求的路由(用来跳转的)和过滤两个最主要功能&#xff1a; 其中路由功能负责将外部请求转发到具体的微服务实例上&#xff0c;是实现外部访问统一入口的基础&#xff0c;而过滤器功能则负责对请求的处理过程进行干预&#xff0c;…

微软称开源.NET吸引了更多开发者

两年前&#xff0c;微软出人意料的宣布开源 .NET 框架&#xff0c;两年后的今天微软表示开源 .NET 取得了成功。 .NET 项目吸引了更多的新开发者&#xff0c;虽然开源没有带来直接的收入&#xff0c;但却可能产生间接的收入&#xff0c;比如吸引更多人使用微软的云计算平台或开…

网站压力测试软件(Apache JMeter)2.13 官方版 Error: Unable to access jarfile ApacheJMeter.jar

https://jmeter.apache.org/download_jmeter.cgi 官网 https://archive.apache.org/dist/jmeter/binaries/ 下载地址 下载没有src的文件 使用方法 本录制&#xff0c;JMeter启用WEB代理&#xff0c;浏览器把代理上网设置为JMeter所在的IP地址&#xff0c;自己电脑就是127.…

最全三大框架整合(使用映射)——applicationContext.xml里面的配置

applicationContext.xml&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:p"http://www.s…

win10系统用户访问ftp服务器被拒绝,关于windows2003下ftp用户名无法访问FTP服务器的问题...

关于windows 2003下建设FTP的步骤我不再详解&#xff0c;主要说两个我们经常出错的两个小问题&#xff0c;这两个小问题往往我们很容易忽视&#xff0c;使我们无法访问自己建立的FTP服务器。问题1&#xff1a;当我们建立一个FTP服务器选用“不隔离用户”选项并且选用不允许匿名…

Java动态代理之cglib

转载自 Java动态代理之cglib cglib是对jdk动态代理的补充&#xff0c;弥补了因没有接口的类生成代理类的缺失。 下面通过简单的例子学习一下cglib的使用&#xff0c;当然&#xff0c;要是用需要第三方的jar包&#xff0c;jar包自行下载。 业务类 public class BankService {…

SpringCloud Config 分布式配置

SpringCloud Config 分布式配置 Dalston.RELEASE Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server&#xff0c;您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同…

.NET泛型初探

总所周知&#xff0c;.NET出现在.net framework 2.0&#xff0c;为什么要在2.0引入泛型那&#xff0c;因为微软在开始开发.net框架时并没有想过多个类型参数传输时对方法的重构&#xff0c;这样一来&#xff0c;开发人员就要面对传输多种类型的参数而不得以写多个方法&#xff…

最全三大框架整合(使用映射)——数据库资源文件jdbc.properties

jdbc.urljdbc:oracle:thin:127.0.0.1:1521:orcl jdbc.driveroracle.jdbc.OracleDriver jdbc.usernamepro jdbc.passwordpro

Java编程:Java的反射机制中的 getComponentType() 方法

转载自 Java编程&#xff1a;Java的反射机制中的 getComponentType() 方法 Java 中所有的类都继承自 Object&#xff0c;数组本身也是一个 Class&#xff0c;如果我们能够得到数据的 Class 对象&#xff0c;那么我们可以通过反射生成数组对象。 在Java的反射机制中&#xff0…

如何将idea自带的maven添加到环境变量

如何将idea自带的maven添加到环境变量 标签&#xff1a; maven idea 2018-07-10 阅读(3081) 想要通过命令形式在cmd操作IntelliJ IDEA自带的maven&#xff0c;那么就必须配置idea的maven环境变量。 下面以window 10 和 idea 2016.1为例&#xff1a; 第一步&#xff1a;找到…