Skip to content
RESTful API 文档生成工具,支持 Go、Java、Swift、JavaScript、Rust、PHP、Python 和 Ruby 等大部分语言。
Go Other
  1. Go 99.8%
  2. Other 0.2%
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows refactor(internal/mock): 调整部分函数的命名和实现 Dec 29, 2019
build feat: 升级到版本 v6 Jan 7, 2020
cmd/apidoc refactor: 删除 cmd/site Jan 7, 2020
doc refactor(doc): 合并相同代码 Jan 8, 2020
docs revert: 解决触屏无法触发 hover 的问题 Jan 8, 2020
input fix(input): 修正错误的提示信息 Jan 8, 2020
internal refactor: 统一命令名规则 Jan 7, 2020
message feat: 升级到版本 v6 Jan 7, 2020
output feat: 升级到版本 v6 Jan 7, 2020
.editorconfig 添加上传至 codecov 的脚本 Oct 31, 2019
.gitignore 添加测试;修正错误。 Dec 23, 2019
.goreleaser.yml feat: 升级到版本 v6 Jan 7, 2020
CHANGELOG.md fix(cmd): 修正 apidoc static 导致的 panic Jan 7, 2020
CONTRIBUTING.md docs(CONTRIBUTING.md): 调整 scope 的相关说明 Dec 29, 2019
LICENSE Initial commit Jul 16, 2015
README.md docs: 调整 README.md Jan 8, 2020
apidoc.go refactor: 统一命令名规则 Jan 7, 2020
apidoc_test.go fix(internal/docs): 内嵌的代码 content-type 值输出字符集信息 Jan 7, 2020
config.go refactor: 统一命令名规则 Jan 7, 2020
config_test.go refactor: 统一命令名规则 Jan 7, 2020
deprecated.go refactor: 统一命令名规则 Jan 7, 2020
failed.yaml 做了以下修改 Dec 12, 2019
go.mod build: 更新引用版本 Jan 8, 2020
go.sum build: 更新引用版本 Jan 8, 2020

README.md

apidoc Build Status Go version Go Report Card codecov GoDoc license

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

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

/**
 * <api method="GET" summary="获取所有的用户信息">
 *     <path path="/users">
 *         <query name="page" type="number" default="0" summary="显示第几页的内容" />
 *         <query name="size" type="number" default="20" summary="每页显示的数量" />
 *     </path>
 *     <tag>user</tag>
 *     <server>users</server>
 *     <response status="200" type="object" mimetype="application/json">
 *         <param name="count" type="int" optional="false" summary="符合条件的所有用户数量" />
 *         <param name="users" type="object" array="true" summary="用户列表">
 *             <param name="id" type="int" summary="唯一 ID" />
 *             <param name="name" type="string" summary="姓名" />
 *         </param>
 *         <example mimetype="application/json">
 *         <![CDATA[
 *         {
 *             "count": 500,
 *             "users": [
 *                 {"id":1, "name": "管理员2"},
 *                 {"id":2, "name": "管理员2"}
 *             ],
 *         }
 *         ]]>
 *         </example>
 *     </response>
 *     <response status="500" mimetype="application/json" type="object">
 *         <param name="code" type="int" summary="错误代码" />
 *         <param name="msg" type="string" summary="错误内容" />
 *     </response>
 * </api>
 */
func login(w http.ResponseWriter, r *http.Request) {
    // TODO
}

使用

https://github.com/caixw/apidoc/releases 提供了主流系统下可用软件,可直接下载使用。 如果你使用的系统不在此列,则需要手动下载编译。

支持多种本地化语言,默认情况下会根据当前系统所使用的语言进行调整。 也可以通过设置环境变更 LANG 指定一个本地化信息。*nix 系统也可以使用以下命令:

LANG=lang apidoc

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

集成

若需要将 apidoc 当作包集成到其它 Go 程序中,可参考以下代码:

// 初始本地化内容
apidoc.Init(language.MustParse("zh-Hans"))

// 可以自定义实现具体的错误处理方式
h := message.NewHandler(...)

output := &output.Options{...}
inputs := []*input.Options{
    &input.Options{},
}

apidoc.Build(h, output, inputs...)

具体可查看文档:GoDoc

参与开发

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

版权

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

文档内容的版权由各个文档各自表述。

You can’t perform that action at this time.