问题描述
我是使用JetBrains Rider的新手,我一直在Mac上使用VSCode。我从JetBrains Rider中看到了一个非常奇怪的行为。行为是,当我使用Swagger工具包托管Web API并使用VSCode运行该代码时,swagger页面确实显示了在HTTP和HTTPS之间切换的选项。
但是,当我使用JetBrains Rider运行相同的确切代码时,我什至没有获得在HTTP / HTTPS之间进行选择的选项。默认情况下,它会使用HTTPS加载,仅此而已,在那之后,我没有选择切换的选项。
这确实令人困惑,因为它是完全相同的代码,并且如果用户可以在HTTP或HTTPS模式下运行此API,则代码就是驱动力。但这听起来像是Rider在做某件事或没有做某事导致这种意外行为。
更多细节:
我们正在使用Swashbuckle.AspNetCore
工具套件,负责设置HTTP协议的代码为
app.UseSwagger(c =>
{
c.RouteTemplate = "gms/swagger/{documentName}/swagger.json";
c.PreSerializefilters.Add((swaggerDoc,httpReq) =>
{
swaggerDoc.Servers = new List<OpenApiServer>
{
new OpenApiServer { Url = $"https://{httpReq.Host.Value}" }
};
#if DEBUG
if (env.IsDevelopment())
{
// Enable http option for local dev environment
swaggerDoc.Servers.Add(new OpenApiServer { Url = $"http://{httpReq.Host.Value}" });
}
#endif
});
c.SerializeAsV2 = true;
});
是的,环境变量设置为在执行此代码时开发。
我需要做些什么来改变这种行为吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)