apidoc

package
v0.1.27 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package apidoc 提供了API文档生成工具

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIDoc

type APIDoc struct {
	// API标题
	Title string `json:"title"`
	// API版本
	Version string `json:"version"`
	// API描述
	Description string `json:"description,omitempty"`
	// API分组
	Groups []GroupInfo `json:"groups,omitempty"`
	// API路由(不属于任何分组)
	Routes []RouteInfo `json:"routes,omitempty"`
	// contains filtered or unexported fields
}

APIDoc 表示API文档

func New

func New(title, version, description string) *APIDoc

New 创建一个新的APIDoc实例

func (*APIDoc) AddRoute

func (doc *APIDoc) AddRoute(method, path, description string, params []ParamInfo, requestBody, responseBody interface{})

AddRoute 添加路由信息

func (*APIDoc) AddRouteInfo

func (doc *APIDoc) AddRouteInfo(info RouteInfo)

AddRouteInfo 添加路由信息

func (*APIDoc) ExtractRoutes

func (doc *APIDoc) ExtractRoutes(server *mist.HTTPServer)

ExtractRoutes 从HTTP服务器中提取路由信息(实验性功能) 注意:这个功能依赖于反射和内部结构,可能不稳定

func (*APIDoc) GenerateHandler

func (doc *APIDoc) GenerateHandler() mist.HandleFunc

GenerateHandler 生成API文档处理函数

func (*APIDoc) Organize

func (doc *APIDoc) Organize()

Organize 整理API文档,根据路径前缀分组

type GroupInfo

type GroupInfo struct {
	// 分组名称
	Name string `json:"name"`
	// 分组前缀
	Prefix string `json:"prefix"`
	// 分组说明
	Description string `json:"description,omitempty"`
	// 分组下的路由
	Routes []RouteInfo `json:"routes"`
}

GroupInfo 表示分组信息

type ParamInfo

type ParamInfo struct {
	// 参数名
	Name string `json:"name"`
	// 参数位置 (path/query/header)
	In string `json:"in"`
	// 参数类型
	Type string `json:"type"`
	// 是否必需
	Required bool `json:"required"`
	// 参数描述
	Description string `json:"description,omitempty"`
}

ParamInfo 表示参数信息

type RouteInfo

type RouteInfo struct {
	// 请求方法
	Method string `json:"method"`
	// 路由路径
	Path string `json:"path"`
	// 路由说明
	Description string `json:"description,omitempty"`
	// 请求参数
	Params []ParamInfo `json:"params,omitempty"`
	// 请求体格式
	RequestBody interface{} `json:"request_body,omitempty"`
	// 响应格式
	ResponseBody interface{} `json:"response_body,omitempty"`
}

RouteInfo 表示路由信息

Jump to

Keyboard shortcuts

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