天天看點

基于.NetCore3.1系列 —— 使用Swagger導出文檔 (番外篇)

前言

  回顧之前的兩篇Swagger做Api接口文檔,我們大體上學會了如何在net core3.1的項目基礎上,搭建一套自動生産API接口說明文檔的架構。

  本來在Swagger的基礎上,前後端開發人員在開發生産期間,可以借此進行更加便捷的溝通交流。可是總有些時候,遇到一些難纏的,又不講道理,偏偏覺得将Swagger文檔位址丢給客戶會不夠正式!死活要一份word文檔。

基于.NetCore3.1系列 —— 使用Swagger導出文檔 (番外篇)

  可是這個時候,如果接口數量上百個,甚至更多,一個一個手動輸入word,那将是一筆耗時的工作。但卻有什麼辦法可以解決呢?  

  對了,利用Swagge生成的Json檔案轉換為word文檔不就可以了嗎?

思路

  1. 擷取Swagger接口文檔的Json檔案

  2. 解析Json檔案資料填充到Html的表格中

  3.根據生成的html轉work文檔

模闆

URL

/api/Movie/AddMovie

請求方式

Post

參數名

參數類型

是否必填

說明

id

Query

False

影視ID

Name

電影名稱

Type

電影類型

狀态碼

200

Success

示例

請求參數

傳回值

開始

1.通過Swagger源碼檔案可以看到

基于.NetCore3.1系列 —— 使用Swagger導出文檔 (番外篇)

 可以拿到swagger生成的文檔資料,是以我們可以建立一個控制器SwaggerController.cs,

2. 在Startup.cs檔案中,利用net core的ioc容器,注入SwaggerGenerator執行個體化,這樣在後面的調用中可以直接使用這個方法

根據上面擷取的model檔案資料,這個時候,我們利用Razor檔案,結合html的table模闆,将資料周遊填充到頁面中,生成完整的頁面

Html模闆

将資料周遊到靜态頁面中,

将html轉換為word後,我們就可以看到帶有 .doc 的效果了!差不多是如下效果

基于.NetCore3.1系列 —— 使用Swagger導出文檔 (番外篇)

總結

  1. 到這基本就結束了,通過簡易的幾個接口的方式,展示了如何通過将Swagger接口文檔生成word文檔。可以根據自己的html模闆生成各式的word樣式文檔說明。

  2.寫這篇番外主要是因為之前介紹了關于如何使用Swagger生成線上文檔,但實際工作中,可能也會遇到這種要各種正式word文檔的客戶,是以在此分享一些想法和思路,同時希望大家不吝指教。

  3.後續還會不斷修改和完善,可以更多的生成不同的檔案類型和按需生成不同版本的接口文檔,持續更新。。。

  4 .注:搜尋關注公衆号【DotNet技術谷】--回複【文檔生成器】,可擷取本篇Swagger轉換work檔案

  5. 參考資料:Spire.Doc檔案 、Swagger開源位址

  6.源碼下載下傳