# goframe 框架生成 swagger 接口定义文档 {#goframe-框架生成-swagger-接口定义文档}
本文介绍 GoFrame 框架如何集成 swagger 接口定义文档。实际上 goframe 已经内置支持 swagger 了,但是还需要进行少量的操作才能生成 swagger 接口定义并生成接口定义文档的访问路由。
有 3 种方法:
法 1 和法 2 需要借助 gf 脚手架,适合开发环境中使用。 法 3 适合测试或生产环境中使用。
# 1. 法 1(适合开发环境中使用) {#_1-法-1-适合开发环境中使用}
该方法会借助 gf 脚手架开启一个独立的接口文档访问服务, 执行如下命令即可:
gf swagger -s 8080
然后访问http://ip:8080/swagger即可查看接口定义
# 2. 法 2(适合开发环境中使用) {#_2-法-2-适合开发环境中使用}
该方法需要借助 gf 脚手架。
# 2.1 初始化 swagger {#_2-1-初始化-swagger}
./boot/目录下新建文件 init_swagger.go, 内容如下:
package boot
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/swagger"
)
/**
初始化swagger
*/
func init() {
s := g.Server()
s.Plugin(&swagger.Swagger{})
}
# 2.2 通过脚手架启动服务 {#_2-2-通过脚手架启动服务}
执行如下命令即可启动服务,同时可生成接口定义的访问路由
gf run main.go --swagger -y
# 3. 法 3(适合测试或生产环境中使用) {#_3-法-3-适合测试或生产环境中使用}
该方法会将 swagger 文档定义打包到原有服务中,这样就不用再单独启动一个接口文档服务了。
一共需要 2 步:
# 3.1 生成 swagger 定义到 golang 源文件 {#_3-1-生成-swagger-定义到-golang-源文件}
执行如下命令, 生成 swagger 定义到 golang 源文件./packed/swagger.go
gf swagger --pack
# 3.2 初始化 swagger {#_3-2-初始化-swagger}
./boot/目录下新建文件 init_swagger.go, 内容如下:
package boot
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/swagger"
)
/**
初始化swagger
*/
func init() {
s := g.Server()
s.Plugin(&swagger.Swagger{})
}
# 3.3 重启服务 {#_3-3-重启服务}
重启服务后,可以看到 swagger 路由定义已经出现在启动界面了。