beego 文件服务器,beego自动化文档
beego是什么?
beego是一个快速开发go应用的http框架,go 语言技术大牛ASTA谢的开源项目。
beego可以用来快速开发API、Web以及后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado、sinatra、flask这三个框架,结合了Go本身的一些特性(interface、struct继承等)而设计的。
beego结合swagger就能实现自动化的文档。
Swagger是什么?
Swagger 是一个规范和一套完整的框架,用于生成、描述、调用以及可视化 RESTful 风格的 Web 服务。
Swagger的总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模型紧密集成到服务器端的代码中,允许API始终保持同步。
Swagger 让部署管理和使用API从未如此简单。
自动文档的好处?
1. 不用手动写文档了,通过注解就可以自动化文档
2. 文档和代码同步更新,代码更新之后不需要再更新文档
3. 浏览器友好
4. 使用Swagger框架可以调试API,在浏览器端可以看到更多的`request`和`response`信息
使用指南
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,和上面的配置一致。
路由解析
目前自动化文档的路由规则只支持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监控文件系统,这样在开发的过程中可以实时的看到项目修改之后的效果。
swagger
也可以运行下面命令改变docs的端口号:
bee run docs -docport=8888
注解
beego的文档注解包括两种:全局注解和应用注解.
全局注释,必须放在router.go的最顶部,包括:
@APIVersion
@Title
@Description
@Contact
@TermsOfServiceUrl
@License
@LicenseUrl
应用注释,需要放在对应方法的上面,包括:
@title
@Description
@Param
@Success
@Failure
@router
beego 文件服务器,beego自动化文档相关推荐
- beego使用API自动化文档生成swagger时,routers目录下无法生成commentsRouter_controllers.go文件
今天项目生成swagger时,按照官方文档操作,swagger目录和压缩包都正常创建,就连http://localhost:8080/swagger/也正常访问,但是 Try it out 接口时,就 ...
- beego API开发以及自动化文档
2019独角兽企业重金招聘Python工程师标准>>> beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一 ...
- Node交互式命令行工具开发——自动化文档工具
转载自:小磊 https://segmentfault.com/a/1190000039749423 nodejs开发命令行工具,流程相对简单,但一套完整的命令行程序开发流程下来,还是需要下点功夫,网 ...
- 新自动化文档生成-go语言-docx生成
文章目录 背景 步骤 确定流程 编写伪代码 编写正式的代码 最终的代码 以前的久问题 新的注意点 模版的问题 插入的内容 特殊符号 总结 关键字: word go语言 办公软件 自动化 excel o ...
- Sphinx 自动化文档
目录 文章目录 目录 Sphinx 入门 reStructuredText 语法格式 标题.列表.正文.要点 表格 代码块 引用其他模块文件 引用静态图片 Sphinx Sphinx 是一个工具,它使 ...
- jenkins 文件服务器,jenkins 部署文档
Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考. 一.软件包: 1.下载apache-maven-2.2.1-bin.tar h ...
- 【NLP】什么是智能文档处理 (IDP) 以及如何开始自动化文档数据提取
- 价值1000元的Python原创文档,涉及“Python基础“、“Python自动化“等,免费分享!
感谢您来到,黄同学的<原创作品>所在地,这里将会给大家分享很多实在的干货文档,供大家学习. 这四个文档分别是:<Python自动化办公手册>.<Excel数据透视表大全手 ...
- BookStack在线文档管理系统 v2.9
介绍: BookStack是一个基于MinDoc,使用Beego开发的在线文档管理系统,功能类似Gitbook和看云. 在开发的过程中,增加和移除了一些东西,目前已经不兼容MinDoc了(毕竟数据表结 ...
最新文章
- 看 nova-scheduler 如何选择计算节点 - 每天5分钟玩转 OpenStack(27)
- python软件怎么使用-Python快速入门—如何选择使用包管理工具?
- windows 2003 配置dhcp服务器
- 自考计算机网络技术一,2017自考计算机网络技术填空题「附答案」
- 质量故事(6)---质量就是客户的满意度
- python散点图密度颜色_Python实现彩色散点图绘制(利用色带对散点图进行颜色渲染)...
- HTML6 初探 — 你没看错,是6不是5
- java抽象类泛型_java-使用泛型定义抽象方法
- 抖音算法推荐机制详解(科普向)
- Dwg TrueView 2018中文版
- android 打开文件管理器选择文件
- 张正友相机标定法原理与实现
- 隐函数存在定理隐函数的高阶导数
- 深度学习——感知机:多层感知机(multi-layered perceptron)图文详解
- java excel row遍历空_用Java巧妙的解析Excel中的POI
- php的mvc设计模式,什么是MVC设计模式?,
- 清华计算机系本科毕业起薪,大学本科毕业起薪最高的六大专业
- 谷粒学院前台登录流程
- 数据智能的本质和技术体系要求
- 10个python接私活的平台,整整10个,总有适合你的,你有技术就有钱