Gin 生成 Swagger 文件
如果❤️我的文章有幫助,歡迎評論、關注、點贊。這是對我繼續技術創作最大的鼓勵。[更多往期文章在我的個人部落格] coderdao.github.io/
Gin 生成 Swagger 文件
環境介紹
- 開發環境:windows10 x64
- Golang:1.16
- Gin:1.7.0
安裝 Swagger
idel 配置 go mod
由於我已經預設你已經安裝 gin 框架
,所以我直接在專案根目錄下安裝 swag
依賴
go get -u github.com/swaggo/swag/cmd/swag
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
go get -u github.com/alecthomas/template
呼叫方法註釋
Swagger 生成文件原理就是 掃描程式檔案中,方法註釋。所以在方法上新增規範註釋,由為關鍵
// 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 設入 Gin router
檔案router/route.go
# 載入依賴
import (
"[專案名稱]/docs"
"github.com/gin-gonic/gin"
"github.com/swaggo/files"
"github.com/swaggo/gin-swagger"
)
func InitHttpServer() {
var router *gin.Engine
router = gin.Default()
router.Static("/html", "./public")
// 設定 swagger 訪問路由
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
router.Run(":" + _const.HTTP_SERVER_PORT)
}
Swagger 生成 API 文件
專案根目錄下 命令列
執行命令 swag init
swag init
命令會在專案根目錄下生成資料夾 docs
。
訪問 swagger 生成文件
專案根目錄執行命令 go run main.go
啟動網路服務。具體看你的gin 設定服務埠,使用瀏覽器訪問 [設定埠]/swagger/index.html
就可以看到剛才生成的介面文件
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3349/viewspace-2797475/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Gin 如何動態生成模型 swagger 文件模型Swagger
- Laravel Swagger 生成 API 文件LaravelSwaggerAPI
- Lumen 微服務生成 Swagger 文件微服務Swagger
- Go語言使用swagger生成介面文件GoSwagger
- 使用go-swagger為golang API自動生成swagger文件SwaggerGolangAPI
- NET 5.0 Swagger API 自動生成MarkDown文件SwaggerAPI
- 自動生成為swagger文件的出入參示例Swagger
- SpringBoot來自Swagger的Restful文件生成Spring BootSwaggerREST
- 如何使用Swagger-UI線上生成漂亮的介面文件SwaggerUI
- 如何使用swagger2輕鬆生成線上介面文件Swagger
- spring-boot-route(五)整合Swagger生成介面文件SpringbootSwagger
- 使用Swagger實現webapi介面自動化文件生成SwaggerWebAPI
- Spring boot 之自動生成API文件swagger2Spring BootAPISwagger
- Swagger API 文件SwaggerAPI
- 資料庫界的Swagger:一鍵生成資料庫文件!資料庫Swagger
- Laravel 8 開發中使用 swagger-php 3 生成文件LaravelSwaggerPHP
- Gin 框架中文文件(翻譯)框架
- 基於gin的golang web開發:整合swaggerGolangWebSwagger
- Spring Boot 2.x基礎教程:Swagger靜態文件的生成Spring BootSwagger
- Rest 文件神器 swagger (1)RESTSwagger
- Rest 文件神器 swagger (2)RESTSwagger
- 優於 swagger 的 java markdown 文件自動生成框架-01-入門使用SwaggerJava框架
- swagger線上api文件搭建指南SwaggerAPI
- 實用!一鍵生成資料庫文件,堪稱資料庫界的Swagger資料庫Swagger
- K8S體系裡面如何更好的使用swagger來生成文件?K8SSwagger
- 使用swagger 生成 Flask RESTful APISwaggerFlaskRESTAPI
- 介面文件生成
- 線上API介面文件swagger2APISwagger
- Spring Cloud Gateway 聚合swagger文件SpringCloudGatewaySwagger
- Swagger匯出Api文件檔案SwaggerAPI
- Swagger 一款RESTFUL介面的文件線上自動生成+功能測試功能軟體SwaggerREST
- Laravel API 文件生成器生成指定的 API 文件LaravelAPI
- 懶得寫文件,swagger文件匯出來不香嗎Swagger
- JSP生成WORD文件,EXCEL文件,PDF文件JSExcel
- Spring Boot從入門到精通(十一)整合Swagger框架,實現自動生成介面文件Spring BootSwagger框架
- Java 生成 PDF 文件Java
- java生成word文件Java
- ABAP文件生成工具