日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第十二节:WebApi自动生成在线Api文档的两种方式

發(fā)布時(shí)間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十二节:WebApi自动生成在线Api文档的两种方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一. WebApi自帶生成api文檔

1. 說明

  通過觀察,發(fā)現(xiàn)WebApi項(xiàng)目中Area文件夾下有一個(gè)HelpPage文件夾,如下圖,該文件夾就是WebApi自帶的生成Api的方式,如果該文件夾沒了,可以通過Nuget安裝:Microsoft.AspNet.WebApi.HelpPage ,你就會(huì)發(fā)現(xiàn)下圖這一坨代碼又回來了。

  

?

使用:http://localhost:2131/Help/Index , 即可訪問生成的Api目錄,如下圖:

缺點(diǎn):你會(huì)發(fā)現(xiàn)一個(gè)很坑爹的問題,方法名的注釋和參數(shù)的注釋均不顯示,這對(duì)使用者而言,相當(dāng)不放方便了。

2. 改進(jìn)支持參數(shù)的注釋

?(1). 選中項(xiàng)目,右鍵屬性,填寫生成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. 小結(jié)

  上述通過改進(jìn),已經(jīng)生成比較完善的Api文檔了,但美中不足的是不能直接測(cè)試,當(dāng)然可以整合別的控件使其支持,但比較麻煩,不如使用下面的SwashBuckle生成SwaggerUI形式的Api文檔。??

?

二. 借助SwaggerUI生成api文檔

?1. 通過Nuget安裝 Swashbuckle (版本:5.6.0)程序集,會(huì)發(fā)現(xiàn)在?App_Start 文件夾下生成一個(gè) SwaggerConfig.cs 配置文件,用于配置??SwaggerUI 相關(guān)展示行為的,如下圖:

?

?(2). 選中項(xiàng)目,右鍵屬性,勾上xml文檔文件,注意:這里默認(rèn)是什么就保留什么,不要在自己改了?。如下圖: 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文檔。

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的第十二节:WebApi自动生成在线Api文档的两种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。