Swagger在.Net Core 2.0与Core 2.2中的区别

 

       最近要做个简单服务并且需要对外开放几个Web API,之前做项目用过.Net Core 1.0和2.0,去年12月份微软正式发布了.Net Core 2.2版本,所以这次项目框架就选择了.Net Core 2.2。API很简单,写完后需要和其他同事做对接,自然而然直接使用Swagger来做API的文档。.Net Core版本的Swagger就是这个库喽Swashbuckle.AspNetCore

       因为之前在Core 1.0和2.0中一直使用Swagger(1.0和2.0在Swagger的用法上也是有一些不同),所以直接Copy .Net Core2.0项目中Swagger使用的代码到2.2版本中,如下图

发现这边报错了,可以看出PlatformServices这个对象找不到了,猜测可能是Core 2.2版本中移除了这个对象。

我们回到2.0的项目中查找下PlatformServices这个对象到底是在哪个程序集里面

原来这个对象是在上图这个程序集里面,Copy了程序集名字去2.2里面一搜,果然没有,那就简单了,直接安装一下这个Microsoft.Extensions.PlatformAbstractions完事。

当然2.2可是2.0的升级版,丢了这个程序集,那肯定是有更好的写法去代替,无非就是获取一些路径,这种最最基础的方法肯定是有的啦,那么就有了下面的替代方法

 除了这个问题以外其他的Swagger用法与Core2.0中一致,这里也就不再多说了。

 

posted @ 2019-02-28 23:07  ALazyBear  阅读(852)  评论(0编辑  收藏  举报