在Debian系統上生成Swagger文檔的步驟如下:
首先,確保你的系統已經安裝了Go語言環境。然后,使用以下命令安裝Swagger相關的工具:
sudo apt update
sudo apt install golang
接下來,安裝swag命令行工具:
go install github.com/swaggo/swag/cmd/swag@latest
在項目的根目錄下,執行以下命令來初始化Swagger文檔生成:
swag init
這個命令會在項目根目錄下生成一個名為docs的文件夾,其中包含了Swagger的文檔。
在你的Go代碼中,需要添加Swagger注釋來描述你的API。例如:
// AdminLogin godoc
// @Summary 管理員登陸
// @Description 管理員登陸
// @Tags 管理員接口
// @ID /admin_login/login
// @Accept json
// @Produce json
// @Param body body dto.AdminLoginInput true "body" # [值得名稱] body [值得類型] [是否必傳] "[返回值名稱]"
// @Success 200 {object} middleware.Response{data=dto.DemoInput} "success"
// @Router /admin_login/login [post]
func (adminlogin *AdminLoginController) AdminLogin(ctx *gin.Context) {
// 定義傳入數據結構
params := &dto.AdminLoginInput{}
if err := params.BindValidParam(ctx); err != nil {
middleware.ResponseError(ctx, 1001, err)
return
}
out := &dto.AdminLoginOutput{Token: params.UserName}
middleware.ResponseSuccess(ctx, out)
}
在項目根目錄下,執行以下命令來生成Swagger文檔:
swag init
這將生成Swagger的文檔,并放置在之前生成的docs文件夾中。
最后,你需要啟動你的Web服務,以便可以通過瀏覽器訪問Swagger文檔。如果你的項目使用的是Gin框架,可以參考以下示例代碼:
package main
import (
"github.com/gin-gonic/gin"
ginSwagger "github.com/swaggo/gin-swagger"
swaggerFiles "github.com/swaggo/files"
)
func main() {
router := gin.Default()
router.Static("/html", "./public")
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
router.Run(":" + _const.HTTP_SERVER_PORT)
}
確保替換_const.HTTP_SERVER_PORT為你的服務端口,然后啟動你的服務。
啟動服務后,你可以通過瀏覽器訪問http://localhost:[設置端口]/swagger/index.html來查看生成的Swagger文檔。
以上步驟應該可以幫助你在Debian系統上成功生成和查看Swagger文檔。如果在執行過程中遇到任何問題,請檢查你的代碼是否正確添加了Swagger注釋,并確保所有依賴都已正確安裝。