生成beego工程之前需要先配置好beego与bee环境
生成beego工程
本工程采用api的形式,不需要界面,所以使用bee api
的方式生成工程,bee工具非常好用,可以用以下方式根据数据库的结构自动生成工程
bee api appName -driver=mysql -conn="root:password@tcp(localhost:3306)/test"
,其中appName
是工程名称,-driver=mysql
是指生成工程的数据库是mysql
,-conn="root:password@tcp(localhost:3306)/test"
是mysql
连接信息。
进程内监控
beego提供了应用信息的监控和展示,可以查看实时信息比如qps,健康状况,程序性能相关(goroutine,gc,cpu等),可以查看静态信息比如路由配置,conf配置信息,过滤器信息,还可以查看和触发任务。
进程监控默认是关闭的,可以通过简单的配置中打开,很方便:
EnableAdmin = true
AdminHttpAddr = 0.0.0.0 #默认监听地址是localhost
AdminHttpPort = 8088
自动化文档
beego通过swagger和内部的注释解析能够实现自动文档的效果,使用方法:
- routers/router.go中路由只能使用namespace+Include的写法,而且只支持二级解析,一级版本号,二级分别表示应用模块。
- routers/router.go文件中设置全局的应用信息。注意,必须写在文件顶部。
- 注释的格式(每个字段的含义可以参照Auto Docs):
// @Title login
// @Description Logs user into the system
// @Param username query string true "The username for login"
// @Param password query string true "The password for login"
// @Success 200 {string} login success
// @Failure 403 user not exist
// @router /login [get]
func (u *UserController) Login() {
username := u.GetString("username")
password := u.GetString("password")
if models.Login(username, password) {
u.Data["json"] = "login success"
} else {
u.Data["json"] = "user not exist"
}
u.ServeJSON()
}
4.在配置文件中打开自动文档配置:
EnableDocs = true
5.启动时添加自动文档参数:
bee run -gendoc=true -downdoc=true
满足以上配置,beego会自动解析控制器中的注释,启动swagger服务,并在/docs接口上提供已生成好的json字串。
访问swagger服务并在swagger中访问/docs接口,即可看到接口的文档,同时也可以对接口进行测试。
网友评论