ASP.NET MVC 使用Swagger需要注意的问题!!!
之前,一直使用的微软自带的Microsoft.AspNet.WebApi.HelpPage来作为项目的接口文档,但总感觉有些不足,就准备采用Swagger。
在项目中引用Swagger很方便,直接Nuget搜索安装Swashbuckle就可以。但是,在使用的过程中,遇到了一个错误,就有点让我摸不着头脑了。
具体错误如下图所示:
后来,经过半天的调试!终于发现了问题所在,Swagger包没有什么问题,问题出在项目的Web.Config上面!!!需要手动添加配置节点。
1 <dependentAssembly> 2 <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 3 <bindingRedirect oldVersion="0.0.0.0-5.2.0.0" newVersion="5.2.0.0" /> 4 </dependentAssembly>
问题终于解决了,半天的时间却没了,在网上也没有看到谁遇到过这个问题,Stack OverFlow也没遇到。但其实仔细的分析一下这个错误,应该是能够很快的发现问题所在的,希望以后多吸取教训。
还有一点就是,不要忘记手动添加
1 <dependentAssembly> 2 <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 3 <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 4 </dependentAssembly>
这个与Swagger的UI显示相关,如果没有,则会报错。
最终成功将Swagger添加进项目中,整个体验的确不是HelpPage能够相比的!