Documentation ¶
Overview ¶
Package apidoc RESTful API 文档生成工具
可以从代码文件的注释中提取文档内容,生成 API 文档, 支持大部分的主流的编程语言。
在生成文档之前,请确保已经调用 Init() 用于初始化环境, Init() 可以确保能以你指定的本地化信息显示提示信息。
Index ¶
- func Buffer(h *message.Handler, o *output.Options, i ...*input.Options) (*bytes.Buffer, error)
- func Build(h *message.Handler, o *output.Options, i ...*input.Options) error
- func Detect(wd string, recursive bool) error
- func Do(h *message.Handler, o *output.Options, i ...*input.Options) errordeprecated
- func Init(tag language.Tag) error
- func Mock(h *message.Handler, d *doc.Doc, servers map[string]string) (http.Handler, error)
- func MockBuffer(h *message.Handler, data []byte, servers map[string]string) (http.Handler, error)
- func MockFile(h *message.Handler, path string, servers map[string]string) (http.Handler, error)
- func Static(dir string, stylesheet bool) http.Handler
- func Test(h *message.Handler, i ...*input.Options)
- func Valid(content []byte) error
- func Version() string
- func View(status int, url string, data []byte, contentType, dir string, stylesheet bool) http.Handler
- func ViewFile(status int, url, path, contentType, dir string, stylesheet bool) (http.Handler, error)
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Buffer ¶
Buffer 生成文档内容并返回
如果是文档语法错误,则相关的错误信息会反馈给 h,由 h 处理错误信息; 如果是配置项(o 和 i)有问题,则以 *message.SyntaxError 类型返回错误信息。
NOTE: 需要先调用 Init() 初始化本地化信息
func Build ¶ added in v6.0.1
Build 解析文档并输出文档内容
如果是文档语法错误,则相关的错误信息会反馈给 h,由 h 处理错误信息; 如果是配置项(o 和 i)有问题,则以 *message.SyntaxError 类型返回错误信息。
NOTE: 需要先调用 Init() 初始化本地化信息
func MockFile ¶
MockFile 生成 Mock 中间件
path 为文档路径,可以是本地路径也可以是 URL,根据是否为 http 或是 https 开头做判断; servers 为文档中所有 server 以及对应的路由前缀。
func Static ¶
Static 为 /docs 搭建一个静态文件服务
相当于本地版本的 https://apidoc.tools,默认页为 index.xml。
用户可以通过诸如:
http.Handle("/apidoc", apidoc.Static(...))
的代码搭建一个简易的 https://apidoc.tools 网站。
/docs 存放了整个项目的文档内容。其中根目录中包含网站的相关内容, 而 /v6 这些以版本号开头的则是查看 xml 文档的工具代码。 同时这一份代码也被编译在代码中。如果你不需要修改文档内容, 则可以直接传递空的 dir,表示采用内置的文档,否则指向指定的目录, 如果指向了自定义的目录,需要保证目录结构和文件名与 /docs 相同。 stylesheet 则指定了是否需要根目录的内容,如果为 true,只会提供转换工具的代码。
func Version ¶
func Version() string
Version 当前程序的版本号
为一个正常的 semver(https://semver.org/lang/zh-CN/) 格式字符串。
func View ¶
func View(status int, url string, data []byte, contentType, dir string, stylesheet bool) http.Handler
View 返回查看文档的中间件
提供了与 Static 相同的功能,同时又可以额外添加一个文件。 与 Buffer 结合,可以提供一个完整的文档查看功能。
status 是新文档的返回的状态码; url 表示文档在路由中的地址,必须以 / 开头; data 表示文档的实际内容; contentType 表示文档的 Content-Type 报头值; dir 和 stylesheet 则和 Static 相同。
Types ¶
type Config ¶
type Config struct { // 产生此配置文件的程序版本号 // // 程序会用此来判断程序的兼容性。 Version string `yaml:"version"` // 输入的配置项,可以指定多个项目 // // 多语言项目,可能需要用到多个输入面。 Inputs []*input.Options `yaml:"inputs"` // 输出配置项 Output *output.Options `yaml:"output"` // contains filtered or unexported fields }
Config 配置文件映身的结构
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
apidoc
apidoc 是一个 RESTful API 文档生成工具 大致的使用方法为: apidoc cmd [args] 具体的参数说明,可以使用 help 参数查看: apidoc help cmd
|
apidoc 是一个 RESTful API 文档生成工具 大致的使用方法为: apidoc cmd [args] 具体的参数说明,可以使用 help 参数查看: apidoc help cmd |
Package doc 文档格式
|
Package doc 文档格式 |
doctest
Package doctest 提供了一个合法的 doc.Doc 对象
|
Package doctest 提供了一个合法的 doc.Doc 对象 |
Package input 用于处理输入的文件,从代码中提取基本的注释内容。
|
Package input 用于处理输入的文件,从代码中提取基本的注释内容。 |
internal
|
|
cmd
Package cmd 提供子命令的相关功能
|
Package cmd 提供子命令的相关功能 |
docs
Package docs 打包文档内容
|
Package docs 打包文档内容 |
lang
Package lang 各类语言解析和管理。
|
Package lang 各类语言解析和管理。 |
locale
Package locale 提供了一个本地化翻译服务。
|
Package locale 提供了一个本地化翻译服务。 |
locale/syslocale
Package syslocale 获取所在系统的本地化语言信息。
|
Package syslocale 获取所在系统的本地化语言信息。 |
mock
Package mock 根据 doc 生成 mock 数据
|
Package mock 根据 doc 生成 mock 数据 |
openapi
Package openapi 实现 openapi 的相关数据类型 https://github.com/OAI/OpenAPI-Specification
|
Package openapi 实现 openapi 的相关数据类型 https://github.com/OAI/OpenAPI-Specification |
path
Package path 提供一些文件相关的操作
|
Package path 提供一些文件相关的操作 |
vars
Package vars 提供了一些公共的函数、结构体及代码级别的设置项。
|
Package vars 提供了一些公共的函数、结构体及代码级别的设置项。 |
Package message 各类输出消息的处理
|
Package message 各类输出消息的处理 |
messagetest
Package messagetest 提供测试生成 message 相关的测试工具
|
Package messagetest 提供测试生成 message 相关的测试工具 |
Package output 对解析后的数据进行渲染输出。
|
Package output 对解析后的数据进行渲染输出。 |