使用 Swagger 在 Golang 中进行 API 文档生成
package main
import (
"net/http"
"github.com/gorilla/mux"
"github.com/knq/swag"
)
// @Title My API
// @Version 1.0
// @Description This is an example of API.
// @Contact support@mysite.com
// @TermsOfService http://www.mysite.com/terms
// @License Apache 2.0
// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html
// MyHandler is an example handler.
// @Summary My API Endpoint
// @Description This is an example endpoint.
// @Accept json
// @Produce json
// @Success 200 {string} string "OK"
// @Router /mypath [get]
func MyHandler(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello, World!"))
}
func main() {
swag.RegisterWebServices()
r := mux.NewRouter()
swag.WalkFunctions(r, func(f swag.RouteFunction) error {
return swag.RegisterRoute(r, f)
})
http.Handle("/", r)
http.ListenAndServe(":8080", nil)
}
这段代码演示了如何在Go中使用Swagger进行API文档的生成。首先定义了一些Swagger相关的注释,这些注释描述了API的标题、版本、描述、联系人、服务条款和许可证信息。然后定义了一个处理函数MyHandler
,其中包含了对应的Swagger注释来描述这个特定的路由。在main
函数中,我们注册了所有的Web服务,并通过swag.WalkFunctions
函数遍历所有的函数,将它们注册为相应的路由。最后,我们启动了一个HTTP服务器来监听8080端口。
评论已关闭