gin開發環境搭建之自動重啟 swagger

2021-10-23 13:31:26 字數 1885 閱讀 4623

和當初選擇python的flask框架一樣,在學習golang+web的時候選擇同樣了相對輕量的gin框架,然而在實際學習開發中,gin並沒有那麼好用,原因在於沒有自動過載和swagger文件,好在都有解決方案,參考多個文件之後,實現了自動過載並更新swagger文件的功能。

go get -u github.com/swaggo/swag/cmd/swag
ln -s /swag /usr/local/bin/swag
在gin專案根目錄下執行

swag init
會生成docs資料夾,資料夾下有swagger.json,這就是我們要的文件。

在配置路由的方法中,加入swagger的路由配置

)func addswaggerrouter(r *gin.engine)將docs目錄下的swagger.json檔案配置成靜態檔案,然後將其靜態檔案對應的url傳入到swagger路由中,這樣swagger頁面讀取json檔案就是我們指定的檔案,官方文件中的配置指定的url是「/swagger/doc.json」,有一定的滯後,所以選定自己的swagger.json

go get -u github.com/cosmtrek/air
安裝方式和上面的swag命令相同,為了實現自動過載和自動更新swagger文件的功能,需要我們自己進行一些配置檔案

root = "."

tmp_dir = "tmp"

[build]

cmd = "go build -o ./tmp/main ./main.go"

bin = "tmp/main"

include_ext = ["go"]

exclude_dir = ["vendor", "docs"]

exclude_file =

stop_on_error = true

log = "air_error.log"

[log]

time = true

[color]

main = "magenta"

watcher = "cyan"

build = "yellow"

runner = "green"

[misc]

clean_on_exit = true

在gin專案的根目錄下建立 .air.conf檔案,並鍵入上述內容,會在main.go的同級目錄下建立tmp檔案用於儲存構建之後的可執行檔案。有一點注意的是exclude_dir的配置,其中docs是swag init命令的產生的swagger.json檔案

然後是每次啟動時,更新swagger.json檔案,在main.go中的init函式中執行swag init系統命令

cmd := exec.command("swag", "init")

err := cmd.run()

if err != nil

fmt.println("swagger.json生成成功")

如果air的配置檔案沒有忽略docs,會一直重啟服務,更新docs下的檔案,再重啟死迴圈

啟動的時候就直接在專案的根目錄啟動,用air命令,會直接找到統計目錄下的.air.conf配置檔案,當然也可以自行指定配置檔案

到這裡,基本上就已經完成了gin開發環境的搭建。

Nodemon 開發環境自動重啟服務工具

在開發環境下,往往需要乙個工具來自動重啟專案工程。寫 nodejs 的時候發現 supervisior 在很多地方都有他的身影,nodejs 也有乙個 npm 模組supervisior也是用來監控程序的,不過除了 supervisior 外,還有很多其他的工具 從 github 的評分上看,比較熱...

React之開發環境搭建

安裝cnpm來代替npm,並配置 映象 速度快 npm install g cnpm registry taobao org至此,react的基礎環境就搭建好了 安裝腳手架dva 我的理解dva就是類似乙個建立專案的嚮導 cnpm install g dva cli建立我們的第乙個專案 dva ne...

JSP之開發環境搭建

catalina home對應的值為tomcat安裝目錄,如 f tomcat。tomcat的主要目錄 注意 如果雙擊startup.bat無法啟動tomcat。可以開啟命令列,切換到tomcat的bin目錄下,然後輸入startup.bat,觀察螢幕上出現的資訊,然後根據提示資訊配置環境變數。要停...