Documentation
¶
Overview ¶
Package doc 表示最终解析出来的文档结果。
Index ¶
Constants ¶
View Source
const ( Null = "null" Bool = "boolean" Object = "object" Array = "array" Number = "number" String = "string" Integer = "integer" )
Schema.Type 的值枚举
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct { Path string `yaml:"path" json:"path"` Description Markdown `yaml:"description,omitempty" json:"description,omitempty"` Tags []string `yaml:"tags,omitempty" json:"tags,omitempty"` Deprecated string `yaml:"deprecated,omitempty" json:"deprecated,omitempty"` Servers []string `yaml:"servers" json:"servers"` Callback *Callback `yaml:"callback,omitempty" json:"callback,omitempty"` // contains filtered or unexported fields }
API 表示单个 API 文档
type Body ¶
type Body struct { Mimetype string `yaml:"mimetype,omitempty" json:"mimetype,omitempty"` Headers []*Header `yaml:"headers,omitempty" json:"headers,omitempty"` Type *Schema `yaml:"type" json:"type"` Examples []*Example `yaml:"examples,omitempty" json:"examples,omitempty"` }
Body 表示请求和返回的共有内容
type Callback ¶
type Callback struct {
// contains filtered or unexported fields
}
Callback 回调内容
@apiCallback GET @apiquery ... @apiparam ...
type Contact ¶
type Contact struct { Name string `yaml:"name" json:"name"` URL string `yaml:"url" json:"url"` Email string `yaml:"email,omitempty" json:"email,omitempty"` }
Contact 描述联系方式
type Doc ¶
type Doc struct { // 以下字段不对应具体的标签 APIDoc string `yaml:"apidoc" json:"apidoc"` // 当前的程序版本 Elapsed time.Duration `yaml:"elapsed" json:"elapsed"` // 文档解析用时 Title string `yaml:"title" json:"title"` Content Markdown `yaml:"content,omitempty" json:"content,omitempty"` Contact *Contact `yaml:"contact,omitempty" json:"contact,omitempty"` License *Link `yaml:"license,omitempty" json:"license,omitempty" ` // 版本信息 Version string `yaml:"version,omitempty" json:"version,omitempty"` // 文档的版本 Tags []*Tag `yaml:"tags,omitempty" json:"tags,omitempty"` // 所有的标签 Servers []*Server `yaml:"servers,omitempty" json:"servers,omitempty"` Apis []*API `yaml:"apis" json:"apis"` // contains filtered or unexported fields }
Doc 文档
type Example ¶
type Example struct { Mimetype string `yaml:"mimetype" json:"mimetype"` Summary string `yaml:"summary,omitempty" json:"summary,omitempty"` Value string `yaml:"value" json:"value"` // 示例内容 }
Example 示例
type Header ¶
type Header struct { Name string `yaml:"name" json:"name"` // 参数名称 Summary string `yaml:"summary" json:"summary"` // 参数介绍 Optional bool `yaml:"optional,omitempty" json:"optional,omitempty"` // 是否可以为空 }
Header 报头
type Param ¶
type Param struct { Name string `yaml:"name" json:"name"` // 参数名称 Type *Schema `yaml:"type" json:"type"` // 类型 Summary string `yaml:"summary" json:"summary"` // 参数介绍 Optional bool `yaml:"optional,omitempty" json:"optional,omitempty"` // 是否为可选参数 }
Param 简单参数的描述,比如查询参数等
type Schema ¶
type Schema struct { Type string `json:"type,omitempty" yaml:"type,omitempty"` Enum []interface{} `json:"enum,omitempty" yaml:"enum,omitempty"` // 数值验证 MultipleOf int `json:"multipleOf,omitempty" yaml:"multipleOf,omitempty"` Maximum int `json:"maximum,omitempty" yaml:"maximum,omitempty"` ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty" yaml:"exclusiveMaximum,omitempty"` Minimum int `json:"minimum,omitempty" yaml:"minimum,omitempty"` ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty" yaml:"exclusiveMinimum,omitempty"` // 字符串验证 MaxLength int `json:"maxLength,omitempty" yaml:"maxLength,omitempty"` MinLength int `json:"minLength,omitempty" yaml:"minLength,omitempty"` Pattern string `json:"pattern,omitempty" yaml:"pattern,omitempty"` // 数组验证 Items *Schema `json:"items,omitempty" yaml:"items,omitempty"` AdditionalItems *Schema `json:"additionalItems,omitempty" ymal:"additionalItems,omitempty"` MaxItems int `json:"maxItems,omitempty" yaml:"maxItems,omitempty"` MinItems int `json:"minItems,omitempty" yaml:"minItems,omitempty"` UniqueItems bool `json:"uniqueItems,omitempty" yaml:"uniqueItems,omitempty"` Contains *Schema `json:"contains,omitempty" yaml:"contains,omitempty"` // 对象验证 MaxProperties int `json:"maxProperties,omitempty" yaml:"maxProperties,omitempty"` MinProperties int `json:"minProperties,omitempty" yaml:"minProperties,omitempty"` Required []string `json:"required,omitempty" yaml:"required,omitempty"` Properties map[string]*Schema `json:"properties,omitempty" yaml:"properties,omitempty"` PatternProperties map[string]*Schema `json:"patternProperties,omitempty" yaml:"patternProperties,omitempty"` AdditionalProperties map[string]*Schema `json:"additionalProperties,omitempty" yaml:"additionalProperties,omitempty"` Dependencies map[string]*Schema `json:"dependencies,omitempty" yaml:"dependencies,omitempty"` PropertyNames *Schema `json:"propertyNames,omitempty" yaml:"propertyNames,omitempty"` AllOf []*Schema `json:"allOf,omitempty" yaml:"allOf,omitempty"` AnyOf []*Schema `json:"anyOf,omitempty" yaml:"anyOf,omitempty"` OneOf []*Schema `json:"oneOf,omitempty" yaml:"oneOf,omitempty"` Not *Schema `json:"not,omitempty" yaml:"not,omitempty"` // 可复用对象的定义 Definitions map[string]*Schema `json:"definitions,omitempty" yaml:"definitions,omitempty"` Ref string `json:"$ref,omitempty" yaml:"$ref,omitempty"` Title string `json:"title,omitempty" yaml:"title,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` Default interface{} `json:"default,omitempty" yaml:"default,omitempty"` ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` WriteOnly bool `json:"writeOnly,omitempty" yaml:"writeOnly,omitempty"` }
Schema 简化的 JSON Schema https://json-schema.org/latest/json-schema-validation.html
Click to show internal directories.
Click to hide internal directories.