Ocelot网关统一配置Swagger
环境:
- window10 x64
- vs2022 企业版 17.0.0
- .NET 6.0
- Ocelot 17.0.0
- Swashbuckle.AspNetCore 6.2.3
最近在做微服务的时候,由于我们是采用前后端分离来开发的,提供给前端的直接是Swagger,如果Swagger分布在各个API中,前端查看Swagger的时候非常不便,因此,我们试着将Swagger集中放到网关中。
第一步:在网关项目中修改Ocelot配置,获取项目的swagger.json不要授
-
{
-
"DownstreamPathTemplate": "/swagger/v1/swagger.json", //下游swagger
-
"DownstreamScheme": "http",
-
"ServiceName": "test01",
-
"LoadBalancerOptions": {
-
"Type": "RoundRobin" //轮询 //"LeastConnection":最少连接数服务器 "NoloadBalance":不负载均衡 "CookieStickySession":会话粘滞
-
},
-
"UseServiceDiscovery": true,
-
"UpstreamPathTemplate": "/test01/swagger.json", //上游swagger
-
"UpstreamHttpMethod": [ "GET", "POST", "DELETE", "PUT" ]
-
}
第二步:在ConfigureServices注入swagger
-
builder.Services.AddSwaggerGen(options =>
-
{
-
options.SwaggerDoc("ApiGateway", new OpenApiInfo { Title = "网关服务", Version = "v1" });
-
});
第三步:在Configure里配置下游swagger
-
var apis = new List<string> { "test01" };
-
app.UseSwagger()
-
.UseSwaggerUI(options =>
-
{
-
apis.ForEach(m =>
-
{
-
options.SwaggerEndpoint($"/{m}/swagger.json", m);
-
});
-
});
第四步:启动项目
成功请求到下游swagger !
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiaegca
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22