第十二节:WebApi自动生成在线Api文档的两种方式
一. WebApi自帶生成api文檔
1. 說明
通過觀察,發(fā)現(xiàn)WebApi項目中Area文件夾下有一個HelpPage文件夾,如下圖,該文件夾就是WebApi自帶的生成Api的方式,如果該文件夾沒了,可以通過Nuget安裝:Microsoft.AspNet.WebApi.HelpPage ,你就會發(fā)現(xiàn)下圖這一坨代碼又回來了。
?
使用:http://localhost:2131/Help/Index , 即可訪問生成的Api目錄,如下圖:
缺點:你會發(fā)現(xiàn)一個很坑爹的問題,方法名的注釋和參數(shù)的注釋均不顯示,這對使用者而言,相當不放方便了。
2. 改進支持參數(shù)的注釋
?(1). 選中項目,右鍵屬性,填寫生成xml文件的路徑,如下圖: bin\api.xml
(2).?找到 Areas/HelpPage/App_Start? 目錄下的HelpPageConfig.cs 文件,Register 方法,添加一行代碼:
config.SetDocumentationProvider(new XmlDocumentationProvider(AppDomain.CurrentDomain.BaseDirectory + "bin\\api.xml"));(3). 大功告成,再次訪問?http://localhost:2131/Help/Index ,發(fā)現(xiàn)無論是方法名還是參數(shù)名,均有描述了
?
?
?3. 小結
上述通過改進,已經(jīng)生成比較完善的Api文檔了,但美中不足的是不能直接測試,當然可以整合別的控件使其支持,但比較麻煩,不如使用下面的SwashBuckle生成SwaggerUI形式的Api文檔。??
?
二. 借助SwaggerUI生成api文檔
?1. 通過Nuget安裝 Swashbuckle (版本:5.6.0)程序集,會發(fā)現(xiàn)在?App_Start 文件夾下生成一個 SwaggerConfig.cs 配置文件,用于配置??SwaggerUI 相關展示行為的,如下圖:
?
?(2). 選中項目,右鍵屬性,勾上xml文檔文件,注意:這里默認是什么就保留什么,不要在自己改了?。如下圖: bin\05-WebApiExtend.xml
?
?
(3). 在SwaggerConfig.cs文件中 搜索 【? c.IncludeXmlComments(GetXmlCommentsPath());? 】,在這句話的下面新增一句代碼:
c.IncludeXmlComments(AppDomain.CurrentDomain.BaseDirectory + "bin\\05-WebApiExtend.xml");(4). 大功告成,訪問:http://localhost:2182/swagger/ui/index? ,即可查看生成Api文檔。
?
?
?
?
總結
以上是生活随笔為你收集整理的第十二节:WebApi自动生成在线Api文档的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 现在申请房贷很难吗?为什么总是有些人被拒
 - 下一篇: 使用 Syslog 连接外部解决方案