ZBLOG

golang swag与net/http集成

Swag是一个用于自动生成API文档的工具,而net/http则是Golang内置的HTTP库。下面是如何将Swag与net/http集成的步骤:

  1. 安装Swag

使用以下命令安装Swag:

go get -u github.com/swaggo/swag/cmd/swag
  1. 初始化Swagger文档

在项目根目录下运行以下命令以初始化Swagger文档:

swag init

这将在项目根目录下创建一个docs文件夹,并生成swagger.json和swagger.yaml两个文件。

  1. 集成到net/http中

首先,在main.go文件中引入gorilla/mux包(可选,用于更方便地定义路由),并注册路由:

import (
    "github.com/gorilla/mux"
    "github.com/swaggo/http-swagger"
)

func main() {
    r := mux.NewRouter()

    // 注册Swagger路由
    r.PathPrefix("/swagger/").Handler(httpSwagger.WrapHandler)

    // 其他路由...
}

或者,如果不使用mux,则可以直接使用http.Handle来注册路由:

import (
    "net/http"
    "github.com/swaggo/http-swagger"
)

func main() {
    http.Handle("/swagger/", httpSwagger.WrapHandler)
    
    // 其他路由...
}
  1. 编写Swagger注释

在需要生成API文档的代码段前添加注释,例如:

// @Summary 获取用户信息
// @Description 获取指定id的用户信息
// @Tags User
// @Accept json
// @Produce json
// @Param id path int true "用户ID"
// @Success 200 {object} ResponseUserInfo{}
// @Failure 404 {object} ResponseError{}
// @Router /user/{id} [get]
func getUser(w http.ResponseWriter, r *http.Request) {
    // 实现获取用户信息的代码...
}
  1. 生成API文档

重新运行swag init命令,即可在docs文件夹中生成更新后的Swagger文档。

  1. 访问Swagger UI界面

启动应用程序并访问http://localhost:8080/swagger/index.html即可看到自动生成的API文档界面。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6522

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?