基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)
前言
??回顧之前的兩篇Swagger做Api接口文檔,我們大體上學會了如何在net core3.1的項目基礎上,搭建一套自動生產API接口說明文檔的框架。
??本來在Swagger的基礎上,前后端開發人員在開發生產期間,可以借此進行更加便捷的溝通交流??墒强傆行r候,遇到一些難纏的,又不講道理,偏偏覺得將Swagger文檔地址丟給客戶會不夠正式!死活要一份word文檔。?
? ?
??可是這個時候,如果接口數量上百個,甚至更多,一個一個手動輸入word,那將是一筆耗時的工作。但卻有什么辦法可以解決呢???
??對了,利用Swagge生成的Json文件轉換為word文檔不就可以了嗎?
思路
? 1.?獲取Swagger接口文檔的Json文件
? 2.?解析Json文件數據填充到Html的表格中
? 3.根據生成的html轉work文檔
模板
? ?文檔模板
URL | /api/Movie/AddMovie | ||
請求方式 | Post | ||
參數名 | 參數類型 | 是否必填 | 說明 |
id | Query | False | 影視ID |
Name | Query | False | 電影名稱 |
Type | Query | False | 電影類型 |
狀態碼 | 說明 | ||
200 | Success | ||
示例 | |||
請求參數 | |||
返回值 | |||
開始
一、根據Swagger版本獲取Json數據
1.通過Swagger源碼文件可以看到
?可以拿到swagger生成的文檔數據,所以我們可以新建一個控制器SwaggerController.cs,? ? ?
2.?在Startup.cs文件中,利用net core的ioc容器,注入SwaggerGenerator實例化,這樣在后面的調用中可以直接使用這個方法
? ?services.AddScoped<SwaggerGenerator>();?//注入SwaggerGenerator,后面可以直接使用這個方法
二、文件數據填充到Html的表格中
根據上面獲取的model文件數據,這個時候,我們利用Razor文件,結合html的table模板,將數據遍歷填充到頁面中,生成完整的頁面
Html模板
將數據遍歷到靜態頁面中,
三、根據生成的html轉work文檔? ??
四、最終效果
將html轉換為word后,我們就可以看到帶有?.doc?的效果了!差不多是如下效果
總結
? 1.?到這基本就結束了,通過簡易的幾個接口的方式,展示了如何通過將Swagger接口文檔生成word文檔。可以根據自己的html模板生成各式的word樣式文檔說明。
? 2.寫這篇番外主要是因為之前介紹了關于如何使用Swagger生成在線文檔,但實際工作中,可能也會遇到這種要各種正式word文檔的客戶,所以在此分享一些想法和思路,同時希望大家不吝指教。
? 3.后續還會不斷修改和完善,可以更多的生成不同的文件類型和按需生成不同版本的接口文檔,持續更新。。。
? 4 .注:搜索關注公眾號【DotNet技術谷】--回復【文檔生成器】,可獲取本篇Swagger轉換work文件
? 5.?參考資料:Spire.Doc文件?、Swagger開源地址
?
總結
以上是生活随笔為你收集整理的基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于.NetCore3.1搭建项目系列
- 下一篇: asp.net ajax控件工具集 Au