Documentation
¶
Index ¶
- Variables
- type API
- type Callback
- type Components
- type Contact
- type Content
- type Discriminator
- type Encoding
- type Example
- type ExternalDocs
- type FileModel
- type Format
- type Header
- type IEnum
- type In
- type Info
- type License
- type Link
- type MediaType
- type Operation
- type Parameter
- type Path
- type RequestBody
- type Response
- type Responses
- type Schema
- type Security
- type SecurityScheme
- type Server
- type Tag
- type Type
Constants ¶
This section is empty.
Variables ¶
var ( // Any constant schema for object Any = &Schema{ Type: ObjectT, } // Int constant schema for int Int = &Schema{ Type: IntegerT, Format: Int32F, } // Int64 constant schema for int64 Int64 = &Schema{ Type: IntegerT, Format: Int64F, } // String constant schema for string String = &Schema{ Type: StringT, } // Time constant schema for time Time = &Schema{ Type: StringT, Format: DateTimeF, } // Bool constant schema for bool Bool = &Schema{ Type: BooleanT, } // Float32 constant schema for float32 Float32 = &Schema{ Type: NumberT, Format: FloatF, } // Float64 constant schema for float64 Float64 = &Schema{ Type: NumberT, Format: DoubleF, } // File constant schema for file File = &Schema{ Type: StringT, Format: BinaryF, } // FileArray constant schema for file slice FileArray = &Schema{ Type: ArrayT, Items: File, } )
var IEnumMethods = []string{
"func StringSetter(value string)",
"func StringGetter() string",
"func UnmarshalJSON(bytes []byte) error",
"func MarshalJSON() ([]byte, error)",
}
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
Openapi string `json:"openapi,omitempty"`
Info *Info `json:"info,omitempty"`
Servers []Server `json:"servers,omitempty"`
Tags []Tag `json:"tags,omitempty"`
Paths map[string]Path `json:"paths,omitempty"`
Components *Components `json:"components,omitempty"`
ExternalDocs *ExternalDocs `json:"externalDocs,omitempty"`
}
type Callback ¶
type Callback struct {
}
Callback https://spec.openapis.org/oas/v3.0.3#callback-object
type Components ¶
type Components struct {
Schemas map[string]Schema `json:"schemas,omitempty"`
RequestBodies map[string]RequestBody `json:"requestBodies,omitempty"`
Responses map[string]Response `json:"responses,omitempty"`
// TODO
Parameters map[string]Parameter `json:"parameters,omitempty"`
// TODO
Examples map[string]Example `json:"examples,omitempty"`
// TODO
Headers map[string]Header `json:"headers,omitempty"`
// TODO
SecuritySchemes map[string]SecurityScheme `json:"securitySchemes,omitempty"`
// TODO
Links map[string]Link `json:"links,omitempty"`
// TODO
Callbacks map[string]Callback `json:"callbacks,omitempty"`
}
Components https://spec.openapis.org/oas/v3.0.3#components-object
type Content ¶
type Content struct {
TextPlain *MediaType `json:"text/plain,omitempty"`
JSON *MediaType `json:"application/json,omitempty"`
FormURL *MediaType `json:"application/x-www-form-urlencoded,omitempty"`
Stream *MediaType `json:"application/octet-stream,omitempty"`
FormData *MediaType `json:"multipart/form-data,omitempty"`
Default *MediaType `json:"*/*,omitempty"`
}
Content REQUIRED. The content of the request body. The key is a media type or [media type range]appendix-D) and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
type Discriminator ¶
type Discriminator struct {
PropertyName string `json:"propertyName,omitempty"`
Mapping map[string]string `json:"mapping,omitempty"`
}
Discriminator https://spec.openapis.org/oas/v3.0.3#discriminator-object
type Encoding ¶
type Encoding struct {
}
Encoding https://spec.openapis.org/oas/v3.0.3#encoding-object
type ExternalDocs ¶
type ExternalDocs struct {
Description string `json:"description,omitempty"`
URL string `json:"url,omitempty"`
}
ExternalDocs https://spec.openapis.org/oas/v3.0.3#external-documentation-object
type FileModel ¶
type FileModel struct {
Filename string
Reader io.ReadCloser
}
type Header ¶
type Info ¶
type MediaType ¶
type MediaType struct {
Schema *Schema `json:"schema,omitempty"`
Example interface{} `json:"example,omitempty"`
Examples map[string]Example `json:"examples,omitempty"`
Encoding map[string]Encoding `json:"encoding,omitempty"`
}
MediaType https://spec.openapis.org/oas/v3.0.3#media-type-object
type Operation ¶
type Operation struct {
Tags []string `json:"tags,omitempty"`
Summary string `json:"summary,omitempty"`
Description string `json:"description,omitempty"`
OperationID string `json:"operationId,omitempty"`
Parameters []Parameter `json:"parameters,omitempty"`
RequestBody *RequestBody `json:"requestBody,omitempty"`
Responses *Responses `json:"responses,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
ExternalDocs *ExternalDocs `json:"externalDocs,omitempty"`
Callbacks map[string]Callback `json:"callbacks,omitempty"`
Security []Security `json:"security,omitempty"`
Servers []Server `json:"servers,omitempty"`
}
Operation https://spec.openapis.org/oas/v3.0.3#operation-object
type Parameter ¶
type Parameter struct {
Name string `json:"name,omitempty"`
In In `json:"in,omitempty"`
Description string `json:"description,omitempty"`
Required bool `json:"required,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
Example interface{} `json:"example,omitempty"`
Schema *Schema `json:"schema,omitempty"`
Style string `json:"style,omitempty"`
Explode bool `json:"explode,omitempty"`
AllowReserved bool `json:"allowReserved,omitempty"`
Content *Content `json:"content,omitempty"`
AllowEmptyValue bool `json:"allowEmptyValue,omitempty"`
}
Parameter https://spec.openapis.org/oas/v3.0.3#parameter-object
type Path ¶
type RequestBody ¶
type RequestBody struct {
Description string `json:"description,omitempty"`
Content *Content `json:"content,omitempty"`
Required bool `json:"required,omitempty"`
Ref string `json:"$ref,omitempty"`
}
RequestBody https://spec.openapis.org/oas/v3.0.3#request-body-object
type Response ¶
type Response struct {
Description string `json:"description"`
Content *Content `json:"content,omitempty"`
// TODO
Headers map[string]Header `json:"headers,omitempty"`
Links map[string]Link `json:"links,omitempty"`
Ref string `json:"$ref,omitempty"`
}
Response https://spec.openapis.org/oas/v3.0.3#response-object
type Responses ¶
type Responses struct {
Resp200 *Response `json:"200,omitempty"`
Resp400 *Response `json:"400,omitempty"`
Resp401 *Response `json:"401,omitempty"`
Resp403 *Response `json:"403,omitempty"`
Resp404 *Response `json:"404,omitempty"`
Resp405 *Response `json:"405,omitempty"`
Default *Response `json:"default,omitempty"`
}
Responses https://spec.openapis.org/oas/v3.0.3#responses-object
type Schema ¶
type Schema struct {
Ref string `json:"$ref,omitempty"`
Title string `json:"title,omitempty"`
Type Type `json:"type,omitempty"`
Properties map[string]*Schema `json:"properties,omitempty"`
Format Format `json:"format,omitempty"`
Items *Schema `json:"items,omitempty"`
Description string `json:"description,omitempty"`
Default interface{} `json:"default,omitempty"`
Example interface{} `json:"example,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
Discriminator *Discriminator `json:"discriminator,omitempty"`
Nullable bool `json:"nullable,omitempty"`
Maximum interface{} `json:"maximum,omitempty"`
Minimum interface{} `json:"minimum,omitempty"`
ExclusiveMaximum interface{} `json:"exclusiveMaximum,omitempty"`
ExclusiveMinimum interface{} `json:"exclusiveMinimum,omitempty"`
MaxLength int `json:"maxLength,omitempty"`
MinLength int `json:"minLength,omitempty"`
Required []string `json:"required,omitempty"`
Enum []interface{} `json:"enum,omitempty"`
AllOf []*Schema `json:"allOf,omitempty"`
OneOf []*Schema `json:"oneOf,omitempty"`
AnyOf []*Schema `json:"anyOf,omitempty"`
Not []*Schema `json:"not,omitempty"`
// AdditionalProperties *Schema or bool
AdditionalProperties interface{} `json:"additionalProperties,omitempty"`
Pattern interface{} `json:"pattern,omitempty"`
}
type SecurityScheme ¶
type SecurityScheme struct {
}
SecurityScheme https://spec.openapis.org/oas/v3.0.3#security-scheme-object
type Tag ¶
type Tag struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
ExternalDocs *ExternalDocs `json:"externalDocs,omitempty"`
}