beego自动化文档

2024-04-29 16:08
文章标签 文档 自动化 beego

本文主要是介绍beego自动化文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

beego是什么?

beego是一个快速开发go应用http框架go 语言技术大牛ASTA谢的开源项目。
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:http://www.jianshu.com/p/943870134593
可以使用intelliJ作为go的IDE:http://www.jianshu.com/p/943870134593
也可以使用Atom作用go的IDE:http://www.jianshu.com/p/c1d8cf274ec7

安装beego:http://beego.me/quickstart
使用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:https://github.com/beego/swagger
也可以下载最新的Swagger:http://swagger.io/

放到项目的根目录下面,目录名称为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

测试项目地址:https://github.com/jjz/go/tree/master/autodoc

参考文档:http://beego.me/docs/advantage/docs.md

这篇关于beego自动化文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946545

相关文章

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.