Go-Swagger
引入 1 2 3 4 go install github.com/swaggo/swag/cmd/swag@latest go get -u -v github.com/swaggo/gin-swagger go get -u -v github.com/swaggo/files go get -u -v github.com/alecthomas/template 使用 基础注释 main函数中配置项目基本注解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package main // @title 这里写标题 // @version 1.0 // @description 这里写描述信息 // @termsOfService http://swagger.io/terms/ // @contact.name 这里写联系人信息 // @contact.url http://www.swagger.io/support // @contact.email support@swagger.io // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host 这里写接口服务的host // @BasePath 这里写base path // @securityDefinitions.basic BasicAuth func main() { r := gin.New() r.Run() } api注解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 函数名 ShowAccount godoc // @Summary Show an account // @Description get string by ID // @Tags accounts // @Accept json // @Produce json // @Param id path int true "Account ID" // @Success 200 {object} model.Account // @Failure 400 {object} httputil.HTTPError // @Failure 404 {object} httputil.HTTPError // @Failure 500 {object} httputil.HTTPError // @Router /accounts/{id} [get] func GetPostListHandler2(c *gin.Context) { ... } 生成docs文件 1 swag init 配置文档handler 1 engine := gin.New()engine.GET("swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) 测试 1 ip:port/swagger/index.html