ASP.Net Core设置接口根路径的方法

devtools/2024/9/20 1:17:39/ 标签: asp.net, 后端

使用asp.net core开发微服务项目,需要给每个服务设置不同的根路径,这样既能使用网关转发请求,又方便对单个服务进行测试,保证请求路径的统一。
设置方法需要使用中间件,在Program.cs添加如下代码

app.UsePathBase("/acl");app.MapControllers();app.Urls.Add("http://0.0.0.0:8081");app.Run();

其中,UsePathBase方法添加了一个中间件,设置所有请求的根路径是acl,要注意中间件添加的位置,在MapControllers方法前面,才能生效。
但是,这样做了以后,swagger相关的接口路径并没有发生变化。也就是说,所有的接口都对应两个请求路径,一个是以acl开头的路径,另一个是swagger里面的请求路径。如果想让swagger的接口路径都加上相同的前缀,需要改成如下代码

if (app.Environment.IsDevelopment())
{app.UseSwaggerUI(options =>{options.RoutePrefix = "acl";options.SwaggerEndpoint("swagger/v1/swagger.json", "system");});app.UsePathBase("/acl");app.UseSwagger();app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
}
else
{app.UsePathBase("/acl");
}app.MapControllers();app.Urls.Add("http://0.0.0.0:8081");app.Run();

重点是这一部分

app.UseSwaggerUI(options =>
{options.RoutePrefix = "acl";options.SwaggerEndpoint("swagger/v1/swagger.json", "system");
});
app.UsePathBase("/acl");
app.UseSwagger();

这样一来,swagger的接口路径也都带有acl前缀了。
访问http://localhost:8081/acl/index.html,就能打开swagger的页面,可以看到,请求路径已经变了
在这里插入图片描述


http://www.ppmy.cn/devtools/92199.html

相关文章

Using Embeddings API in Azure OpenAI

题意:当我在 Azure OpenAI 中使用嵌入功能时,我遇到了 404 错误(资源未找到) 问题背景: When I use embeddings with Azure OpenAI I am getting 404 (resource not found): 当我在 Azure OpenAI 中使用嵌入功能时&a…

kafka下载|安装

1、下载kafka https://kafka.apache.org/downloads 2、安装kafka 解压下载的kafka安装包即可 tar -xvf kafka_2.13-3.7.0.tgz -C /usr/local/3、查看kafka目录 bin目录:存放了脚本 config目录:主要存放了配置文件

Java语言程序设计——篇十三(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

Docker快速入门指南

🛠️ Docker 应用场景 Docker 是一个开源的平台,旨在简化应用程序的开发、部署和管理。它通过容器技术,将应用及其所有依赖打包在一个标准化的环境中,从而确保应用在不同环境中的一致性和可移植性。在 Python 爬虫的场景中&#…

高职院校云计算人才培养成果导向系统构建、实施要点与评量方法

一、引言 随着“十四五”规划的深入实施,云计算作为新一代信息技术的关键组成部分,已成为推动各行业数字化转型的重要驱动力。高职院校作为技术技能人才培养的重要阵地,如何根据云计算产业的发展需求,培养具备云计算技术应用与运…

面试笔记--(正在整理版)

面试常见: Jvm,高并发,多线程,数据库,redis,框架 多线程 1.线程和进程是什么?如何保证线程安全性? 进程线程(一)——基础知识,什么是进程?什么是线程?_…

【视频监控国标GB/T28181】 如何支持TCP和UDP接入

视频监控国标GB/T28181支持TCP和UDP接入的方式主要依赖于该标准中定义的通信协议和传输机制。以下是对这两种接入方式的详细解释: 一、TCP接入方式 1.1 TCP接入的特点 可靠性:TCP协议提供面向连接的、可靠的字节流服务。在数据传输过程中,…

【区块链+社会公益】透明劳务平台 | FISCO BCOS应用案例

建筑行业农民工工资结算一直以来是社会民生的痛点。一方面,由于行业服务链条长、管理协同效率低、对账复 杂等原因,农民工面临取证难、算量难、讨薪难问题。另一方面,承担实际施工任务的中小微建筑企业,数字化 程度低、转型难&…

揭秘!千益畅行成旅游卡代理首选的秘密

在当前旅游市场日益繁荣的背景下,旅游卡的兴起不仅激发了消费者的旅行热情,也促进了旅游业的整体发展。 然而,在面对市场上众多的旅游卡代理平台时,选择一个靠谱的平台成为了消费者和从业者共同面临的挑战。 在选择旅游卡代理平台…

Watermark水位线实践与源码分析

目录 Watermark源码 有序流中Watermark 无序流中Watermark 自定义Watermark 周期性(Periodic)Watermark 间断性(Punctuated)Watermark 处理闲置源 Watermark对齐 阅读本文前,请先阅读《Flink时间和窗口》,了解时间以及水位线。本文以Watermark使用和源码…

Go调度器

线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.Go提供一种机制 可以在线程中自己实现调度,上下文切换更轻量,从而达到线程数少,而并发数并不少的效果,而线程中调度的就是Goroutine 调度器主要概念: 1.G:即Go协程,每个go关键字都会创建一个协程…

【多线程】乐观/悲观锁、重量级/轻量级锁、挂起等待/自旋锁、公平/非公锁、可重入/不可重入锁、读写锁

文章目录 乐观锁和悲观锁重量级锁和轻量级锁挂起等待锁和自旋锁公平锁和非公平锁可重入锁和不可重入锁读写锁相关面试题 锁:非常广义的概念,不是指某个具体的锁,所有的锁都可以往这些策略中套 synchronized:只是市面上五花八门的锁…

C++ list的基本使用

目录 1.list简要介绍 2. list的构造 3. list中迭代器的使用 (1). 双向迭代器与随机访问迭代器使用区别 4.判空、获取元素个数 5. list头、尾元素的访问 6. 插入与删除操作 (1). 头插头删,尾插尾删 (2). 插入,删除与清空 (3). 交换 7. list容器迭代…

IGModel——提高基于 GNN与Attention 机制的方法在药物发现中的实用性

导言 深度学习在药物发现(发现治疗药物)领域的应用以及传统方法面临的挑战。 药物(尤其是我们将在本文中讨论的被称为抑制剂的药物)通过与在人体中发挥不良功能的蛋白质结合并改变这些蛋白质的功能来发挥治疗效果。因此&#xf…

Unity 资源分享 之 恐龙Ceratosaurus资源模型携 82 个动画来袭

Unity 资源分享 之 恐龙Ceratosaurus资源模型携 82 个动画来袭 一、前言二,资源包内容三、免费获取资源包 一、前言 亲爱的 Unity 开发者和爱好者们,大家好!今天要为大家分享一份超级酷炫的 Unity 资源——恐龙资源模型,而且它还…

python打怪练习

1. 求一个数的幂值 def mi(a, b):c afor i in range(b-1):a a * creturn aprint(mi(2, 4))2. 输出斐波那契数列 def feibonaqi(n):l []a 1b 1for i in range(n):l.append(a)l.append(b)a b ab a bprint(l)feibonaqi(5)3. 输出特定字典数据 keys [name, old, score…

Nginx打包和部署

一.打包 npm run build 二.打包后的文件 1.css 2.fonts 3.js 4.favicon.ico 5.index.html 三.Nginx 1.介绍 Nginx是一款轻量级的Web服务器/方向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占用内存少,并发能力强,在各大互联网公司都有非常广泛的使用。 2.官…

Python—面向对象(基础)

面向对象 面向对象(OOP)编程的思想主要针对大型软件设计师面向对象编程使用程序的扩展性更强、可读性更好面型对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据方式更加接近人的思维,大大提高了编程效率类 含义:用来描述具有相同属性和方法的对象的集合。类…

【深度学习】用Pytorch完成MNIST手写数字数据集的训练和测试

模型训练相关 思路: 导入数据集(对数据集转换为张量)加载数据集(使数据集成为可以进行迭代)搭建卷积模型进行模型训练(每训练一轮查看一次在测试集上的准确率)使用tensorboard进行可视化保存训…

Boddotstrap使用技巧指南

目录 1. 简介 2. 安装与配置 2.1 安装 Boddotstrap 2.2 初始配置 3. 基础技巧 3.1 定制主题 3.2 使用网格系统 3.3 优化排版 4. 高级技巧 4.1 响应式设计最佳实践 4.2 组件的定制与扩展 4.3 与其他框架集成 5. 调试与优化 5.1 性能优化 5.2 调试常见问题 6. 常…