beego生成api工程

作者: 褪色的记忆1994 | 来源:发表于2019-07-15 15:50 被阅读5次

生成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和内部的注释解析能够实现自动文档的效果,使用方法:

  1. routers/router.go中路由只能使用namespace+Include的写法,而且只支持二级解析,一级版本号,二级分别表示应用模块。
  2. routers/router.go文件中设置全局的应用信息。注意,必须写在文件顶部。
  3. 注释的格式(每个字段的含义可以参照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接口,即可看到接口的文档,同时也可以对接口进行测试。

相关文章

网友评论

    本文标题:beego生成api工程

    本文链接:https://www.haomeiwen.com/subject/onquxctx.html