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