如何使用NSWAG和C#指定"schema"元素?

编程入门 行业动态 更新时间:2024-10-25 19:31:34
本文介绍了如何使用NSWAG和C#指定"schema"元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用ASP.NET Core和NSWAG承载和描述具有Windows身份验证的IIS中承载的新Web服务。

在本地,我使用https运行Web服务,但是当我部署到测试环境时,Web服务位于具有SSL卸载的负载平衡器之后。这意味着,即使站点在浏览器中看起来在SSL下运行,IIS中的实际绑定也是http。因此,我的Swagger UI页面(和swagger.json定义)将支持的方案描述为http。

我希望Swagger.json中的schemes元素用于读取"https"而不是"http"。是否有人能够帮助我找到需要在代码中设置以手动设置方案的属性?

{ x-generator: "NSwag v11.19.1.0 (NJsonSchema v9.10.72.0 (Newtonsoft.Json v11.0.0.0))", swagger: "2.0", info: { title: "My API title", description: "Provides access to data.", version: "1.0.0" }, host: "myhostname", schemes: [ "http" ], etc... } 推荐答案

砰的一声。明白了!

最终在Github上找到了答案,以下代码成功了:

app.UseSwaggerWithApiExplorer(config => { //...other code omitted... config.PostProcess = settings => { settings.Schemes.Clear(); settings.Schemes.Add(NSwag.SwaggerSchema.Https); }; });

编辑:

对于NSwag v12使用:

app.UseSwagger(configure => configure.PostProcess = (document, _) => document.Schemes = new[] { SwaggerSchema.Https });

更多推荐

如何使用NSWAG和C#指定"schema"元素?

本文发布于:2023-05-25 10:57:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/226647.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   元素   NSWAG   amp   quot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!