webapi 集成swagger

參考資料:Stack Overflowhtml

我本身寫的demo:SwaggerDemoApigit

在已有的webapi項目或者建立webapi項目中,打開nuget管理器web

搜索:swaggerapi

安裝截圖中的插件到你的webapi項目中 ,安裝完成後,項目根目錄下也可能會出現SwaggerNet.cs文件,把這個文件刪除掉便可mvc

 

 這個插件是自動安裝的,依賴於Swagger.Net.UIide

安裝完成以後,發現項目根目錄--App_Start目錄下回產生兩個文件spa

打開SwaggerNet.cs文件,把我截圖中的代碼註釋掉,否則會報錯,報錯信息:程序集「Swagger.Net, Version=0.5.1.0, Culture=neutral, PublicKeyToken=null」中的類型「Swagger.Net.XmlCommentDocumentationProvider」的方法「GetDocumentation」沒有實現。.net

 把圖中代碼註釋掉,就沒有報錯了。插件

運行起來後,在地址欄後加上/swagger,就能夠自動跳轉到對應的頁面了。code

 

集成到項目中報錯: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

                 webapi 配置swagger出現問題:not supported by swagger 2.0

在代碼

GlobalConfiguration.Configuration 
                .EnableSwagger(c =>
                    { ...

裏面加上一句:

c.ResolveConflictingActions(apiDescriptions => apiDescriptions.ToList().First());

或者

c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

哪一個不報錯就用哪一個,本身看狀況。加上以後就不報這個錯誤了,就成功的運行出來了。

 

2019.05.24 補充:

如何生成註釋文檔?參考資料:代碼註釋生成

相關文章
相關標籤/搜索