apidoc

command module
v0.0.0-...-3fcfa23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2018 License: MIT Imports: 20 Imported by: 0

README

apidoc Build Status Go version Go Report Card license codecov

apidoc 是一个简单的 RESTful API 文档生成工具,它从代码注释中提取特定格式的内容,生成文档。 目前支持支持以下语言:C#、C/C++、D、Erlang、Go、Groovy、Java、JavaScript、Pascal/Delphi、 Perl、PHP、Python、Ruby、Rust、Scala 和 Swift。

具体文档可参考:http://apidoc.tools

/**
 * @api get /users 获取所有的用户信息
 * @apiGroup users
 * @apiQuery page int 显示第几页的内容
 * @apiQuery size int 每页显示的数量
 *
 * @apiSuccess 200 ok
 * @apiParam count int 符合条件的所有用户数量
 * @apiParam users array 用户列表。
 * @apiExample json
 * {
 *     "count": 500,
 *     "users": [
 *         {"id":1, "username": "admin1", "name": "管理员2"},
 *         {"id":2, "username": "admin2", "name": "管理员2"}
 *     ],
 * }
 * @apiExample xml
 * <users count="500">
 *     <user id="1" username="admin1" name="管理员1" />
 *     <user id="2" username="admin2" name="管理员2" />
 * </users>
 */
func login(w http.ResponseWriter, r *http.Request) {
    // TODO
}
安装
go get github.com/tanxiaolong/apidoc

支持多种本地化语言,默认情况下会根据当前系统所使用的语言进行调整。若需要手动指定, windows 可以设置一个 LANG 环境变量指定,*nix 系统可以使用以下命令:

LANG=lang apidoc

将其中的 lang 设置为你需要的语言。

集成

若需要将 apidoc 当作包集成到其它 Go 程序中,可分别引用 inputoutput 的相关函数:

// 初始本地化内容
locale.Init()

// 分析文档内容
inputOptions := &input.Options{
    ErrorLog: log.New(...),
}
docs, elapsed := input.Parse(inputOptions)

// 输出内容
outputOptions := &output.Options{...}
outputOptions.Elapsed = elapsed
if err = output.Render(docs, outputOptions); err != nil {
    panic(err)
}
参与开发

请阅读 CONTRIBUTING.md 文件的相关内容。

配置文件示例
version: 4.0.0+20171125
inputs:
    - lang: go
      dir: /home/tanxiaolong/code/
      recursive: true
      title: 用户中心-互动接口文档
output:
    dir: /www/vcs-doc
    type: html
版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

Documentation

Overview

apidoc 是一个 RESTful API 文档生成工具。

Directories

Path Synopsis
docs
Package input 用于处理文件输入,过滤代码,生成 types.Doc 数据。
Package input 用于处理文件输入,过滤代码,生成 types.Doc 数据。
encoding
Package encoding 为输入的文件提供编码支持。
Package encoding 为输入的文件提供编码支持。
syntax
Package syntax 负责对标签语法的解析操作。
Package syntax 负责对标签语法的解析操作。
Package locale 提供了一个本地化翻译服务。
Package locale 提供了一个本地化翻译服务。
syslocale
Package syslocale 获取所在系统的本地化语言信息。
Package syslocale 获取所在系统的本地化语言信息。
Package output 对解析后的数据进行渲染输出。
Package output 对解析后的数据进行渲染输出。
static
Package static 提供了默认模板
Package static 提供了默认模板
Package types 一些公用类型的定义
Package types 一些公用类型的定义
Package vars 提供了一些公共的函数、结构体及代码级别的设置项。
Package vars 提供了一些公共的函数、结构体及代码级别的设置项。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL