站点图标 江湖人士

VS2017和项目代码升级后丝袜哥Swagger出现404的解决方法

VS2017和项目代码升级后丝袜哥Swagger出现404的解决方法,从去年开始,新项目使用.net core来开发web api,用于给app提供后台接口,再配置丝袜哥(Swagger)来在线生成接口文档和进行调试工作,确实方便了团队成员。我们将web api部署到AzureCentos服务器上,配置了域名,下图就是丝袜哥生成在线接口文档的样子。在线接口文档的URL地址类似如:https://jhrs.com/swagger,通过输入这个地址,大家就可以访问啦,打开后就是下图的样子。

严重说明:接口地址只是起示意用途,非真实url。

Swagger出现404

Swagger出现404

不幸的是,最近升级了VS2017到最新版本,同时通过nuget把各种包更新到了最新版本后,在本地开发环境却出现错误,调试时进入类似地址是:https://localhost:44337/Swagger却出现了404错误,直接访问接口却是正确的。如下图所示:

Swagger出现404

经过排查,升级后丝袜歌(Swagger)需要在web api项目的启动类(Startup.cs)里面更改一段代码才能正常工作,更改的代码如下:

 更改前Swagger配置代码

更改后Swagger配置代码

最后,也是最重要的,接口地址发生了变化,需要在原先的地址上再次加上/swagger才行,如:

https://localhost:44337/swagger/swagger/  —这是使用新接口地址才能访问的正确姿势。

https://localhost:44337/swagger/      —这是使用旧方式访问接口的姿势,如果你还这样访问,一样的是404错误哟,别怪江湖人士没有提醒你。

完成这些改动后,在地址栏打入URL地址:https://localhost:44337/swagger/swagger/,你就可以看到接口啦,升级后,界面你妹的还发生了变化。不多说了,看下图就是新版的丝袜哥接口:

退出移动版