首页 > 技术文章 > WebAPI学习笔记(9)发布到https环境下Swagger无法正常显示的问题

61007257Steven 2019-12-11 14:07 原文

1. 在开发机测试好的Swagger发布到https服务器后可能出现下面问题:

2、但是直接浏览docs地址是可以读取到数据。

3、解决办法是在SwaggerConfig.cs中取消代码注释,并实现GetRootUrlFromAppConfig方法。

1 //c.RootUrl(req => GetRootUrlFromAppConfig(req));
1 private staticstring GetRootUrlFromAppConfig(HttpRequestMessage message)
2 {
3             var virtualPathRoot = message.GetRequestContext().VirtualPathRoot;
4 
5             var schemeAndHost = "https://" + message.RequestUri.Host;
6             return new Uri(new Uri(schemeAndHost, UriKind.Absolute), virtualPathRoot).AbsoluteUri;
7 }

4、编辑发布后docs文件地址会直接定向到https。

推荐阅读