How do I specify the quot;schemequot; element using NSwag and C#?(如何使用NSWAG和C#指定quot;schemaquot;元素?)
问题描述
我正在使用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.net",
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";元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用NSWAG和C#指定";schema";元素?
基础教程推荐
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
