博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
beego自动化文档
阅读量:6166 次
发布时间:2019-06-21

本文共 1945 字,大约阅读时间需要 6 分钟。

beego是什么?

beego是一个快速开发go应用http框架go 语言技术大牛的开源项目。

beego可以用来快速开发APIWeb以及后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornadosinatraflask这三个框架,结合了Go本身的一些特性(interfacestruct继承等)而设计的。
beego结合swagger就能实现自动化的文档。

Swagger是什么?

Swagger 是一个规范和一套完整的框架,用于生成描述调用以及可视化 RESTful 风格Web 服务

Swagger的总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模型紧密集成到服务器端的代码中,允许API始终保持同步。
Swagger 让部署管理和使用API从未如此简单。

自动文档的好处?

1. 不用手动写文档了,通过注解就可以自动化文档2. 文档和代码同步更新,代码更新之后不需要再更新文档3. 浏览器友好4. 使用Swagger框架可以调试API,在浏览器端可以看到更多的`request`和`response`信息

使用指南

首先安装go:

可以使用intelliJ作为go的IDE:[
也可以使用Atom作用go的IDE:

安装beego:

使用go get安装beego:

go get github.com/astaxie/beego

安装bee工具:

go get github.com/beego/bee

未了方面可以把$GOPATH/bin加入到你的$PATH变量中:

export PATH=$PATH:$GOPATH/bin

创建一个beego项目

使用bee工具可以方便的创建,管理,运行,打包beego项目:

bee api beeapi

必须在$GOPATH/src的目录下创建项目。

为该项目指定Swagger目录:

beego.StaticDir["/swagger"] = "swagger"

下载Swagger:

也可以下载最新的Swagger:

放到项目的根目录下面,目录名称为swagger,和上面的配置一致。

##路由解析
目前自动化文档的路由规则只支持NewNamespace写法的解析,其他写法函数不会自动解析为文章,就是namespace+Include的写法。而且只支持二级解析,其中一级表示版本号,二级表示应用模块。
如:

ns := beego.NewNamespace("/v1",        beego.NSNamespace("/object",            beego.NSInclude(                &controllers.ObjectController{},            ),        ),        beego.NSNamespace("/user",            beego.NSInclude(                &controllers.UserController{},            ),        ),    )    beego.AddNamespace(ns)

生成文档

在配置文件conf/app.conf中设置

EnableDocs = true

生成docs文件:

bee generate docs

文档的生成在 docs文件的init函数中调用的,因此必须在main中导入docs文件,这样就会调用docs的init函数

_ "beeapi/docs"

运行程序:

bee run watchall true

bee run命令是监控beego的项目文件,通过fsnotify监控文件系统,这样在开发的过程中可以实时的看到项目修改之后的效果。

打开http://127.0.0.1:8080/swagger/就可以看到自动化文档的界面

swagger

也可以运行下面命令改变docs的端口号:

bee run docs -docport=8888

注解

beego的文档注解包括两种:全局注解和应用注解.

全局注释,必须放在router.go的最顶部,包括:

@APIVersion    @Title    @Description    @Contact    @TermsOfServiceUrl    @License    @LicenseUrl

应用注释,需要放在对应方法的上面,包括:

@title    @Description    @Param    @Success    @Failure    @router

测试项目地址:[

参考文档:

转载地址:http://euyba.baihongyu.com/

你可能感兴趣的文章
Linux macos 常用终端操作
查看>>
企业网络的管理思路
查看>>
Linux磁盘分区与挂载
查看>>
J2se学习笔记一
查看>>
DNS视图及日志系统
查看>>
老李分享:Android性能优化之内存泄漏 3
查看>>
mysql命令
查看>>
来自极客标签10款最新设计素材-系列七
查看>>
极客技术专题【009期】:web技术开发小技巧
查看>>
PHP 简单计算器代码实现
查看>>
正则表达式的知识普及
查看>>
docker使用笔记
查看>>
华为eNSP模拟器上实现FTP服务
查看>>
【全球AI人才排行榜】美国第一,中国仅排名第7
查看>>
微信小程序输入框input
查看>>
MySql字符串函数使用技巧
查看>>
Doc2Vec,Word2Vec文本相似度 初体验。
查看>>
系统ghost后变成一个盘了别的分区的文件怎么找回
查看>>
Win7+Ubuntu11
查看>>
请问华为三层交换机里面的那个从IP是个什么意思? -
查看>>