webapi 集成swagger
- 作者: huijhf5860555
- 来源: 51数据库
- 2021-11-12
参考资料:stack overflow
我自己写的demo:swaggerdemoapi
在已有的webapi项目或者创建webapi项目中,打开nuget管理器
搜索:swagger
安装截图中的插件到你的webapi项目中 ,安装完成后,项目根目录下也可能会出现swaggernet.cs文件,把这个文件删除掉即可。
这个插件是自动安装的,依赖于swagger.net.ui
安装完成之后,发现项目根目录--app_start目录下回产生两个文件
打开swaggernet.cs文件,把我截图中的代码注释掉,不然会报错,报错信息:程序集“swagger.net, version=0.5.1.0, culture=neutral, publickeytoken=null”中的类型“swagger.net.xmlcommentdocumentationprovider”的方法“getdocumentation”没有实现。
把图中代码注释掉,就没有报错了。
运行起来后,在地址栏后加上/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());
哪个不报错就用哪个,自己看情况。加上之后就不报这个错误了,就成功的运行出来了。