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 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, } )
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"` }