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

news2024/11/22 20:47:04

使用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.coloradmin.cn/o/1986901.html

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

相关文章

量化投资基础(四)之AR、MA、ARMA与ARIMA模型

点赞、关注,养成良好习惯 Life is short, U need Python 量化投资基础系列,不断更新中 1 引言 时间序列经典模型主要有: 自回归模型(Auto Regressive,AR)移动回归模型(Moving Average,MA&…

无线领夹麦克风哪个品牌好,哪款领夹式麦克风性价比高

随着自媒体行业的蓬勃发展,内容创作者对高质量音频设备的需求日益增长。无线领夹麦克风,凭借其便携性、高音质与灵活性,正逐渐成为视频制作、直播互动及日常Vlog记录的标配工具。其兴起不仅反映了创作者对专业录音品质的追求,也体…

Web安全学习

1 计算机网络与协议 1.1 网络基础 1.1.1 计算机通信网的组成 计算机网络由通信子网和资源子网组成。 通信子网:负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。 资源子网:是计算机通信的本地系统环境…

全球油价与棕榈油市场波动

一、油价暴跌与经济衰退担忧 周一(8月5日)欧盘时段,油价暴跌,两大主要基准油价均下跌逾2%,触及八个月低点。油价的急剧下跌主要是由于人们担心全球最大的石油消费国美国可能陷入衰退。全球疲弱的经济数据加剧了人们对燃…

绿色精益生产新潮流:环保也能成为竞争力!

在当今这个快速变化且竞争激烈的市场环境中,企业面临着前所未有的挑战。为了保持竞争力并实现可持续发展,企业必须不断探索和采用更高效、更灵活的生产管理方式。精益生产,作为一种源自日本丰田汽车公司的生产哲学,凭借其消除浪费…

Animate软件基本概念:组和文本

这里继续介绍Animate软件中的基本概念,组和文本两个概念。 FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 Fl…

Go - 10. * 值类型和指针类型的差异

目录 一.引言 二.接收者类型 三.代码示例 1.指针接收者 2.值接收者 3.运行结果对比 4.代码修改 5.刨根问底 四.总结 一.引言 go 语言中 func (c *Title) 和 func (c Title) 两个方法的传参差一个 * 号,二者的区别是一个是指针类型,一个是值类型…

scratch水仙花数 2024年6月scratch四级 中国电子学会图形化编程 少儿编程等级考试四级真题和答案解析

目录 scratch水仙花数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、p…

深度学习入门(一):感知机与输入数据

单层感知机与多层感知机 单层感知机(Single-Layer Perceptron)和多层感知机(Multi-Layer Perceptron,简称MLP)是神经网络的基本形式,用于执行各种机器学习任务,包括分类和回归。它们都基于早期…

赚他10个亿...

体育竞技 & 商业价值 虽然昨天遭受了全球黑一,但四年一度的奥运会还是要关注的。 不知道最近大家是否有关注巴黎奥运会,印象深刻的项目又是哪个? 截止于发稿前,目前「金牌榜」上,中国以微弱优势位于第一&#xff0…

CDGA/CDGP数据治理证书:含金量高,职场竞争力提升的明智之选

在当今这个数据驱动的时代,数据已成为企业最宝贵的资产之一,而高效、合规的数据治理则是挖掘数据价值、驱动业务增长的关键。随着企业对数据治理重视程度的不断提升,拥有专业数据治理知识和技能的人才变得尤为稀缺。在此背景下,CD…

win10批量修改文件名,记得保存文件

打开需要修改的文件夹新建文本内容如下 DIR . /B>文件列表.csv 并另存为bat文件,注意编码,双击bat文件生成Excel 打开Excel 填写你的文件名至B列,如我需要在文件名前面都加上spi5_公式D1&A1 C列输入"REN "&"""&q…

【C++BFS算法】2059. 转化数字的最小运算数

本文涉及知识点 CBFS算法 LeetCode2059. 转化数字的最小运算数 给你一个下标从 0 开始的整数数组 nums ,该数组由 互不相同 的数字组成。另给你两个整数 start 和 goal 。 整数 x 的值最开始设为 start ,你打算执行一些运算使 x 转化为 goal 。你可以…

实验8-1-7 数组循环右移

本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据 (最后m个数循环移至最前面的m个位置)…

CMU15445 (Fall 2023) Project 4 - Concurrency Control 思路分享

文章目录 写在前面Task 1 - Timestamps1.1 Timestamp Allocation1.2 Watermark Task 2 - Storage Format and Sequential Scan2.1 Tuple Reconstruction2.2 Sequential Scan / Tuple Retrieval Task 3 - MVCC Executors3.1 Insert Executor3.2 Commit3.3 Update and Delete Exe…

FreeIPA安装

一、环境准备 主机名IP角色master. bhlu. com192.168.22.10服务端node1. bhlu. com192.168.22.11客户端 两台服务器关闭防火墙和 selinux配置好 yum 源 1.1 配置 chronyd 配置好 chronyd,使用 chronyc source -v 可以验证 # 这里写了一个playbook作为示例了 --…

OpenHarmony网络请求库-axios

简介 Axios ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于 Axios 原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。 http 请求Promise APIrequest 和 response 拦截器转…

Codeforces Round 920 (Div. 3) A~E 题

A. Square 题目链接: Problem - A - Codeforces 思路: 题目比较简单:就是给你一个矩形的四个顶点的坐标,然后让你求矩形的面积,我们知道矩形的面积等于长乘宽,那么,如何就矩形的长和宽&…

ctfhub Bypass disable_function

LD_PRELOAD url 蚁剑连接 选择插件 点击开始 查看到此文件名编辑连接拼接到url后面重新连接 点击开启终端 在终端执行命令 ls / /readfile ShellShock url CTFHub 环境实例 | 提示信息 蚁剑连接 写入shell.php <?phpeval($_REQUEST[ant]);putenv("PHP_test() { :…