ASP.NET Core 在 Swagger UI 中显示自定义的 Header或者在url中增加query参数

Rider对接豆包智谱AI:手搭API工作流实现可控代码生成 在IDE中集成大模型AI能力,本质是构建可编程、可审计的上下文感知服务链路。不同于VS Code或IntelliJ的黑盒式AI插件,JetBrains Rider采用开放API对接模式,依托External Tools、REST Client与脚本中间层,实现精准上下文注入、结构化响应解析与模型热切换。该方案契合.NET开发者对稳定性、安全性和工程可控性的核心诉求,尤其适用于需合规审计、多模型协同及团队规模化落地的中大型后端项目。本文详解豆包GLM-4与智谱GLM-5.1在Rider中的零插件API集成路径 阅读详情
会遇到有些api接口中,会在实际调用过程中在url加参数,或者加Header。在Swagger中该如何实现
 using Swashbuckle.AspNetCore.Swagger;
 using Swashbuckle.AspNetCore.SwaggerGen;    
    /// 控制swagger中是否需要添加accesstoken验证
    /// </summary>
    public class AddAuthTokenHeaderParameter : IOperationFilter
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="operation"></param>
        /// <param name="context"></param>
        public void Apply(Operation operation, OperationFilterContext context)
        {
            if (operation.Parameters == null) operation.Parameters = new List<IParameter>();
            var attrs = context.ApiDescription.ActionDescriptor.AttributeRouteInfo;

            //先判断是否是匿名访问,
            var descriptor = context.ApiDescription.ActionDescriptor as ControllerActionDescriptor;
            if (descriptor != null)
            {
                var actionAttributes = descriptor.MethodInfo.GetCustomAttributes(inherit: true);
                bool isAnonymous = actionAttributes.Any(a => a is AllowAnonymousAttribute);
                 //非匿名的方法,链接中添加accesstoken值
                if (!isAnonymous)
                {
                    operation.Parameters.Add(new NonBodyParameter()
                    {
                        Name = "accesstoken",
                        In = "query",//query header body path formData
                        Type = "string",
                        Required = true //是否必选
                    });
                }
            }
        }
    }
其中NonBodyParameter类中的In属性可以为query,header,body,path,formData. 分别为在url查询参数、header、body、url路径、表单数据中添加项。 这里可参考官网解释

然后在StartUp的ConfigureServices方法中绑定
 public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(options => { options.Filters.Add<AuthActionFilter>(); });
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info
                {
                    Version = "v1",
                    Title = "Test API"
                });
                //swagger中控制请求的时候发是否需要在url中增加accesstoken
                options.OperationFilter<AddAuthTokenHeaderParameter>();

                //Determine base path for the application.  
                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                //Set the comments path for the swagger json and ui.  
                var xmlPath = Path.Combine(basePath, "TestDemo.xml");
                options.IncludeXmlComments(xmlPath);
            });
        }

最终Swagger界面如下:





【YiFeiWebApi】易飞ERP全能WebAPI发布:全单据CRUD与审核流操作,RESTful风格覆盖所有版本 随着企业发展,作为企业信息化的基座ERP系统承载着和周边系统进行异构对接,如:WMS、QMS、SRM、PLM、MES、CRM、APS、OA等系统对接。现在大部分新版本ERP系统大都提供了免费或者收费的标准接口。作为一款经典的易飞ERP系统仍然有着广泛的客户群体,提供一款符合现代风格的接口显得的尤为重要。同时也可以作为内部自研异构系统接口使用。 阅读详情

相关推荐

【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......)

前言 🚀 作者 :“程序员梨子” 🚀 **文章简介 **:本篇文章主要是写了利用Turtle库绘制四种不一样的图案的小程序! 🚀 **文章源码免费获取 : 为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无 偿分享滴💓👇👇👇👇 点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可! 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 正文 今天给大家介绍一个好玩儿的库,嘻嘻! Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵

TZ45678的博客 3万+

ASP.NET Boilerplate安全防护实战:XSS、CSRF与SQL注入纵深防御指南

在Web应用开发中,安全防护是保障系统稳定和数据安全的核心环节。其基本原理在于通过多层次、多维度的技术手段,构建纵深防御体系,以应对各类网络攻击。从技术价值看,有效的安全防护不仅能防止数据泄露和服务中断,更是企业级应用可信赖的基石。常见的应用场景包括用户输入处理、会话管理、数据库交互等关键环节。本文聚焦于ASP.NET Boilerplate框架,深入探讨如何针对XSS(跨站脚本攻击)、CSRF(跨站请求伪造)和SQL注入这三大经典威胁,结合防伪令牌、内容安全策略和参数化查询等热词技术,进行专项加固与实战配

weixin_30915951的博客 929

ThinkAdmin后台Getshell

通过文件包含或者图片马的方式Getshell。修改其可允许的文件类型,php不允许,可添加。系统管理->系统参数配置->本地服务器存储。

hot_milk1的博客 1865

Asp.Net Core swagger接口文档添加Header

1、添加Filter类 public class JwtHeaderFilter : IOperationFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { var isAuthorized = context.MethodInfo.GetCustomAttributes(typeof(Authorize.

qq_26900081的博客 3333

《涨知识啦29》-DBR的工作原理及其在VCSEL中的作用

分布式布拉格(Distributed Bragg Reflection,简称DBR)反射镜是垂直腔面发射激光器(Vertical-Cavity Surface-Emitting Laser,简称VCSEL)的重要组成部分。典型的DBR反射镜是由1/4ni波长厚度的高折射率和低折射率材料交替组成(ni是该层的折射率)。其反射率取决于组成对数、边界条件以及折射率差。 图1 布拉格反射镜的工作原理 DBR反射镜的工作原理如图1所示。根据反射原理,当光从光疏介质n1射向光密介质n2(折射率n2>n1)时,反

simucal的博客 7983

UE4 Instanced Mesh 半透明渲染顺序不对解决

以绿色方块为Instanced Mesh为例。 正确的半透应该是这样的: 这是一般蓝图Actor方块,其半透是正常的。 然而Instanced Mesh因为过多,UE4不给你缓存正确的渲染顺序。所以,在不改代码的情况下,想解决Instanced Mesh半透问题,是不可能的。不正确的半透如下: 注意到错误发生在Instanced Mesh的方块与方块之间。 但我就是要解决,...

qq_41524721的博客 5569

五分钟带你学会.NetCore配置Swagger注释

在.NET 6项目中使用Swagger时,想要在Swagger UI中展示API方法和模型的注释。使用XML注释是实现这一点的好方法。以下是如何设置Swagger以使用XML注释的步骤:

m0_57350631的博客 2031

用Python进行GEO数据挖掘(学习笔记四):富集分析

该笔记详细解释了富集分析的工作原理,并简要地利用gseapy在python中进行富集分析的操作。

m0_64111502的博客 5649

.netcore下使用Swagger生成webapi文档

一、准备工作 1.新建一个.netcore webapi项目 2.添加一个Model子项目用于存放输入输出类 在解决方案中添加一个.netcore类库子项目,命名为Test.Model,用于存放API接口的输入输出参数类 3.在Test.Model子项目中新建两个输入输出类备用 using System; using System.Collections.Generic; ...

Hello World 5530

从URDF到仿真动画:基于Simulink、Simscape与S-Function的机械臂一体化建模与控制

本文详细介绍了从URDF文件到高保真仿真动画的一体化机械臂建模与控制流程。通过整合Simulink、Simscape与S-Function,构建了包含物理特性的虚拟机械臂模型,并实现了自适应滑模等高级控制算法的嵌入与验证。该流程打通了从机械设计到控制算法验证的闭环,为机器人开发提供了高效的仿真平台。

cnn8visionary的博客 698

RAG的“诊断艺术”:从测试集结果倒追根源,精准优化检索、排序与生成

当RAG应用给出一个糟糕的答案时,开发者的第一反应可能是:“我的Prompt写得不够好?”这种基于“感觉”的猜测往往是低效的。通过构建一个包含黄金上下文信息的测试集,我们可以像一位经验丰富的医生一样,对RAG系统的各个“器官”进行独立的“健康检查”。一个用于RAG诊断的测试集,除了问题和答案,还需要包含中间环节的“黄金标准”。如果你的RAG流程包含Re-ranker,那么在评估完初期的召回后,需要单独评估Re-ranker的效果。RAG的优化是一个持续的过程,应该形成一个闭环。的文档块尽可能多地召回。

kakaZhui的博客 154

.Net Core 使用Swagger

.Net Core 使用Swagger教程

weixin_49543015的博客 837

【机器学习】推理时计算优化——思维链(Chain-of-Thought)与慢思考范式 第一章:基础理论与认知框架 第二章:计算优化技术与前沿方法

过程监督在数学推理中展现出显著优势,因其能够定位错误发生的具体步骤,而非仅在最终答案处提供稀疏反馈。然而,高质量过程标注的获取成本高昂,这催生了基于自动验证器的近似方法。

VectorShift的博客 72

swagger之接口header控制

在大部分项目中,都存在权限控制,基本上大部分的接口都需要用户的登录信息。现在主流的采用如jwt或者其他方式,来通过请求时向header加入token,然后服务端解析token。所以我们需要在swagger生成的接口文档上也要进行header控制,除了接口参数以外,还要输入token header。 这里提供swagger header三种方式: 一、在每个controller接口上,标记swa...

H_233的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ASP.NET Web API核心原理与企业级实战指南

Web API是一种基于HTTP协议构建数据服务的轻量级框架,其本质是将REST架构风格与RFC 7230标准深度结合,通过状态码、内容协商、资源化URI等原生机制实现跨平台数据交互。相比MVC的视图渲染职责和WCF的复杂配置,Web API专注提供可预测、易测试、高内聚的HTTP服务接口,天然适配移动App、SPA、IoT等现代客户端场景。它强调模型绑定、异常语义化响应、CORS治理及生产级可观测性设计,是.NET团队在Windows生态下落地微服务与API优先战略的务实选择。本文围绕真实系统重构案例,详

世范水晶 442

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java与.NET程序员的工程思维差异解析

Java和.NET作为企业级开发两大主流技术栈,其本质差异远超语法层面,根植于JVM与CLR运行时设计哲学、生态演进逻辑及工程实践范式。JVM强调强契约与确定性,适合对资源可控性要求严苛的金融系统;CLR侧重弹性伸缩与场景深度,在高吞吐HTTP服务中表现突出。二者在依赖注入、配置管理、日志追踪、ORM抽象等关键环节呈现系统性分野,直接影响微服务治理、CI/CD效率与跨团队协作质量。理解这些底层机制,是实现双栈共治、故障协同定位与架构平滑演进的技术前提。

diaojin6880的博客 443

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

毕业设计实战:基于Spring Boot与Vue的公司人员管理系统开发指南

信息管理系统(MIS)是软件工程领域的经典应用,其核心在于通过数据库技术对业务实体进行增删改查(CRUD)操作,并实现业务流程的数字化管理。这类系统通常采用分层架构,将数据访问、业务逻辑与用户界面分离,以提高代码的可维护性和可扩展性。在技术价值上,一个设计良好的MIS不仅能提升管理效率,更是开发者理解软件工程全流程的绝佳实践。其应用场景广泛,从企业资源规划到学校教务管理,都离不开此类系统的支撑。本文以公司人员管理系统为例,深入剖析如何运用Spring Boot与Vue.js等技术栈,构建一个包含权限管理(R

weixin_30947043的博客 364

【YiFeiWebApi】YiFeIWebApi更新日志

维度数据更新记录总数50+ 条新增接口数100+ 个业务接口框架升级核心架构改造BaseController 抽象、分布式缓存、全局异常处理、依赖注入重构性能优化N+1 治理、O(n)→O(1) 算法优化、并行查询、缓存策略安全增强JWT、IP 白名单、授权码、限流、CORS 可配置测试覆盖单元测试逐步完善。

德仔 1580

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

Swagger 是个好东西,对于前后端分离的网站来说,不仅是提高前后端开发人员沟通效率的利器,也大大方便了后端人员测试 API。本文介绍如何在 Swagger UI 中显示自定义的 Header Token.

dotNET跨平台 3435

ASP.NET Core 配置 Swagger 显示接口注释描述信息

添加注释说明 给Controller 和 Action 添加注释 把注释信息在Swagger中展示 这时候需要用到XML文档,因为它是通过XML来维护Swagger文档的一些信息。 单击鼠标右键,选择项目名称”中的“属性”中的“生成”命令,勾选“输出路径”下面的“XML文档文件”, 重新编译后,系统会默认生成一个XML,按F5键运行查看,这样控制器和接口注释就都有了。 配置Swagger Ser...

重庆熊猫 482

Net6 Swagger增加自定义参数

Net6 Swagger增加自定义参数

qq_44965678的博客 1347

Asp.Net Core Api 7 OpenAI3.0下Swagger添加全局Authorization验证token

在swagger中调试接口时,需要Authorization标头的情况

Lxh7913的博客 877

.net6中让swagger添加JWT

programe.cs中添加这个即可 builder.Services.AddSwaggerGen(c => { var scheme = new OpenApiSecurityScheme() { Description = "Authorization header. \r\nExample: 'Bearer 12345abcdef'", Reference = new OpenApiReference { T

weixin_43632687的博客 1170

swagger 上传文件 参数_使用Swagger直接上传文件的方法

经常使用swagger,可以通过设置[ProducesResponseType]标记接口的返回信息;swagger也能通过接口的参数列表,自动获得发送的数据结构信息。不过有一个例外,就是上传文件的时候,设置了[Consumes]的内容为multi-part/form-data,但是swagger并不能正常感知是上传文件的。代码是这个样子的:关于文件上传的细节,可以看多年前我写过一篇有关通过WEBA...

weixin_36050283的博客 3669

再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高

一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger。Swagger 是一个规范和完整的框架,用于生成、描述、调试和可视化 RESTful 风格的 Web API 服务框架。 但随着系统功能的不断增加,接口数量的爆炸式增长,Swagger 的使用体验就会变得越来越差,比如请求参数为 JSON 的时候没办法格式化,返回结果没办法折叠,还有就是没有提供搜索功能。 刚好最近发现 Knife4j 弥补了这些不足,赋予了 Swagger 更强的生命力,于是就来给大家安利一波。 一、

沉默王二 2万+
上一篇: .netcore swagger xml发布时缺失
下一篇: Flask jieba分词的完整api,swaggerUi展示切词文档
Waldenz
博客等级 码龄17年 219粉丝 229原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值