【golang】接口文档工具swagger使用
2020-03-17 本文已影响0人
dongzd
安装swagger
此处只针对win,其他系统安装方法可至官网查看。
go get github.com/go-swagger/go-swagger
//如果install出现pakage找不到,进行go get github.com/go-swagger/go-swagger/cmd/swagger即可
go install github.com/go-swagger/go-swagger/cmd/swagger
生成json文档注释文件
在定义接口方法之前加入swagger注释
// swagger:operation POST /machine/{type} machine createmachine
// ---
// summary: List the repositories owned by the given author.
// description: If author length is between 6 and 8, Error Not Found (404) will be returned.
// parameters:
// - name: author
// in: path
// description: username of author
// type: string
// required: true
func Test(w http.ResponseWriter, r *http.Request) {
.....
}
然后执行生成文档json命令
swagger generate spec -o ./swagger.json
此命令会找到main.go入口文件,然后遍历所有源码文件,解析然后生成swagger.json文件
把文档文件变为可视化UI
-
从 swagger-ui库下载dist文件夹到自己的项目中,并更名为swagger。把swagger中的index.html的url改成./swagger.json
-
将生成的swagger.json作为一个fileServer路由加入到server中
//component/swagger为dist的目录
httpMux.Handle("/swagger/", http.StripPrefix("/swagger/", http.FileServer(http.Dir("component/swagger"))))
最后访问相应路径即可http://x.x.x.x:xxxx/swagger/index.html