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自动化文档相关推荐

  1. beego使用API自动化文档生成swagger时,routers目录下无法生成commentsRouter_controllers.go文件

    今天项目生成swagger时,按照官方文档操作,swagger目录和压缩包都正常创建,就连http://localhost:8080/swagger/也正常访问,但是 Try it out 接口时,就 ...

  2. beego API开发以及自动化文档

    2019独角兽企业重金招聘Python工程师标准>>> beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一 ...

  3. Node交互式命令行工具开发——自动化文档工具

    转载自:小磊 https://segmentfault.com/a/1190000039749423 nodejs开发命令行工具,流程相对简单,但一套完整的命令行程序开发流程下来,还是需要下点功夫,网 ...

  4. 新自动化文档生成-go语言-docx生成

    文章目录 背景 步骤 确定流程 编写伪代码 编写正式的代码 最终的代码 以前的久问题 新的注意点 模版的问题 插入的内容 特殊符号 总结 关键字: word go语言 办公软件 自动化 excel o ...

  5. Sphinx 自动化文档

    目录 文章目录 目录 Sphinx 入门 reStructuredText 语法格式 标题.列表.正文.要点 表格 代码块 引用其他模块文件 引用静态图片 Sphinx Sphinx 是一个工具,它使 ...

  6. jenkins 文件服务器,jenkins 部署文档

    Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考. 一.软件包: 1.下载apache-maven-2.2.1-bin.tar h ...

  7. 【NLP】什么是智能文档处理 (IDP) 以及如何开始自动化文档数据提取

  8. 价值1000元的Python原创文档,涉及“Python基础“、“Python自动化“等,免费分享!

    感谢您来到,黄同学的<原创作品>所在地,这里将会给大家分享很多实在的干货文档,供大家学习. 这四个文档分别是:<Python自动化办公手册>.<Excel数据透视表大全手 ...

  9. BookStack在线文档管理系统 v2.9

    介绍: BookStack是一个基于MinDoc,使用Beego开发的在线文档管理系统,功能类似Gitbook和看云. 在开发的过程中,增加和移除了一些东西,目前已经不兼容MinDoc了(毕竟数据表结 ...

最新文章

  1. 看 nova-scheduler 如何选择计算节点 - 每天5分钟玩转 OpenStack(27)
  2. python软件怎么使用-Python快速入门—如何选择使用包管理工具?
  3. windows 2003 配置dhcp服务器
  4. 自考计算机网络技术一,2017自考计算机网络技术填空题「附答案」
  5. 质量故事(6)---质量就是客户的满意度
  6. python散点图密度颜色_Python实现彩色散点图绘制(利用色带对散点图进行颜色渲染)...
  7. HTML6 初探 — 你没看错,是6不是5
  8. java抽象类泛型_java-使用泛型定义抽象方法
  9. 抖音算法推荐机制详解(科普向)
  10. Dwg TrueView 2018中文版
  11. android 打开文件管理器选择文件
  12. 张正友相机标定法原理与实现
  13. 隐函数存在定理隐函数的高阶导数
  14. 深度学习——感知机:多层感知机(multi-layered perceptron)图文详解
  15. java excel row遍历空_用Java巧妙的解析Excel中的POI
  16. php的mvc设计模式,什么是MVC设计模式?,
  17. 清华计算机系本科毕业起薪,大学本科毕业起薪最高的六大专业
  18. 谷粒学院前台登录流程
  19. 数据智能的本质和技术体系要求
  20. 10个python接私活的平台,整整10个,总有适合你的,你有技术就有钱

热门文章

  1. 概念介绍(机器学习)
  2. P1507 NASA的食物计划
  3. Linux Restart PHP
  4. STM32F405的 ADC参考电压选择问题
  5. Docker Machine 简介
  6. swiper.js 多图片页面的懒加载lazyLoading
  7. linux centos 7安装 apache php 及mariadb
  8. sublime text 2用package control安装插件时显示成功安装但实际没装上的问题
  9. 矩阵微积分的一些实用结论与推导
  10. 图解Windows下开发Objective-C程序之二 - Objective-C入门例子