欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

webapi 集成swagger

程序员文章站 2022-03-28 16:30:46
参考资料:Stack Overflow 我自己写的demo:SwaggerDemoApi 在已有的webapi项目或者创建webapi项目中,打开nuget管理器 搜索:swagger 安装截图中的插件到你的webapi项目中 ,安装完成后,项目根目录下也可能会出现SwaggerNet.cs文件,把 ......

参考资料:stack overflow

我自己写的demo:swaggerdemoapi

在已有的webapi项目或者创建webapi项目中,打开nuget管理器

搜索:swagger

安装截图中的插件到你的webapi项目中 ,安装完成后,项目根目录下也可能会出现swaggernet.cs文件,把这个文件删除掉即可

webapi 集成swagger

 

 这个插件是自动安装的,依赖于swagger.net.ui

webapi 集成swagger

安装完成之后,发现项目根目录--app_start目录下回产生两个文件

webapi 集成swagger

打开swaggernet.cs文件,把我截图中的代码注释掉,不然会报错,报错信息:程序集“swagger.net, version=0.5.1.0, culture=neutral, publickeytoken=null”中的类型“swagger.net.xmlcommentdocumentationprovider”的方法“getdocumentation”没有实现。

webapi 集成swagger

 把图中代码注释掉,就没有报错了。

运行起来后,在地址栏后加上/swagger,就可以自动跳转到对应的页面了。

webapi 集成swagger

 

集成到项目中报错:not supported by swagger 2.0: multiple operations with path 'api/blob' and method 'post'. see the config setting - \"resolveconflictingactions\" for a potential workaround

参考资料:not supported by swagger 2.0: multiple operations with path

               

在代码

globalconfiguration.configuration 
                .enableswagger(c =>
                    { ...

里面加上一句:

c.resolveconflictingactions(apidescriptions => apidescriptions.tolist().first());

或者

c.resolveconflictingactions(apidescriptions => apidescriptions.first());

哪个不报错就用哪个,自己看情况。加上之后就不报这个错误了,就成功的运行出来了。