关于gin-swagger隐藏models方法

前言:

很多后端项目接口文档会用到swagger生成api文档,但是在注释中用object和自定义的struct时,swagger页面会展示models,这并不是很好看,下面就讲下如何隐藏

首先看仓库的文档

官方文档中的示例

// @title           Swagger Example API
// @version         1.0
// @description     This is a sample server celler server.
// @termsOfService  http://swagger.io/terms/

// @contact.name   API Support
// @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      localhost:8080
// @BasePath  /api/v1

// @securityDefinitions.basic  BasicAuth

// @externalDocs.description  OpenAPI
// @externalDocs.url          https://swagger.io/resources/open-api/
func main() {
   
   
    r := gin.Default()

    c := controller.NewController()

    v1 := r.Group("/api/v1")
    {
   
   
        accounts := v1.Group("/accounts")
        {
   
   
            accounts.GET(":id", c.ShowAccount)
            accounts.GET("", c.ListAccounts)
            accounts.POST("", c.AddAccount)
            accounts.DELETE(":id", c.DeleteAccount)
            accounts.PATCH(":id", c.UpdateAccount)
            accounts.POST(":id/images", c.UploadAccountImage)
        }
    //...
    }
    r.GET("/swagger/*any", ginSwagger.WrapHan
### 集成 SwaggerGin 框架 #### 安装 Swag 工具 对于希望在 Gin 框架中集成 Swagger 的开发者来说,安装 `swag` 是第一步。可以通过命令行工具轻松完成 swag 的安装: ```bash go install github.com/swaggo/swags/cmd/swag@latest ``` 此操作将会下载并安装最新的版本到 Go 的工作环境中[^2]。 #### 修改 main.go 文件 为了让 Swag 能够识别项目的路由信息,在 `main.go` 中需要导入特定的包以便初始化 Swagger UI 并注册必要的中间件: ```go import ( _ "your_project/docs" ... ) func init() { if err := docs.SwaggerInfo.Load(); err != nil { log.Fatalf("Failed to load swagger info: %v", err) } } ``` 这段代码确保了当应用启动时加载 Swagger 文档的信息[^4]。 #### 添加注解至 Handler 函数 为了使自动生成的 API 文档更加详尽,应该按照 Swaggo 提供的标准格式给 handler 方法加上相应的注释标签。这些标签描述了 HTTP 请求的方法、路径参数、查询字符串以及其他元数据等细节。例如: ```go // @Summary Show a user by ID. // @Description get string by ID // @ID get-string-by-int // @Accept json // @Produce json // @Param id path int true "User ID" // @Success 200 {object} models.User // @Router /users/{id} [get] func GetUser(c *gin.Context) { // function body here... } ``` 上述例子展示了如何标记一个获取用户的 GET 接口[^1]。 #### 执行 Swag 命令生成文档文件 最后一步是在项目根目录下运行如下命令来生成所需的 JSON/YAML 格式的 API 描述文件以及对应的 HTML 页面入口 (`doc.go`) : ```bash swag init ``` 这将基于源码里的注释创建出完整的 RESTful API 文档结构,并放置于指定位置以供访问。 通过以上步骤就可以成功地让 Gin 应用程序拥有自动化的 API 文档生成功能了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值