Help us shape the future of Go! Take the 2026 Go Developer Survey

openapi2

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2020 License: MIT Imports: 4 Imported by: 166

Documentation

Overview

Package openapi2 parses and writes OpenAPI 2 specifications.

Does not cover all elements of OpenAPI 2. When OpenAPI version 3 is backwards-compatible with version 2, version 3 elements have been used.

The specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Header struct {
	Ref         string `json:"$ref,omitempty"`
	Description string `json:"description,omitempty"`
	Type        string `json:"type,omitempty"`
}

type Operation

type Operation struct {
	openapi3.ExtensionProps
	Summary      string                 `json:"summary,omitempty"`
	Description  string                 `json:"description,omitempty"`
	ExternalDocs *openapi3.ExternalDocs `json:"externalDocs,omitempty"`
	Tags         []string               `json:"tags,omitempty"`
	OperationID  string                 `json:"operationId,omitempty"`
	Parameters   Parameters             `json:"parameters,omitempty"`
	Responses    map[string]*Response   `json:"responses"`
	Consumes     []string               `json:"consumes,omitempty"`
	Produces     []string               `json:"produces,omitempty"`
	Security     *SecurityRequirements  `json:"security,omitempty"`
}

func (*Operation) MarshalJSON added in v0.14.0

func (operation *Operation) MarshalJSON() ([]byte, error)

func (*Operation) UnmarshalJSON added in v0.14.0

func (operation *Operation) UnmarshalJSON(data []byte) error

type Parameter

type Parameter struct {
	openapi3.ExtensionProps
	Ref              string              `json:"$ref,omitempty"`
	In               string              `json:"in,omitempty"`
	Name             string              `json:"name,omitempty"`
	Description      string              `json:"description,omitempty"`
	CollectionFormat string              `json:"collectionFormat,omitempty"`
	Type             string              `json:"type,omitempty"`
	Format           string              `json:"format,omitempty"`
	Pattern          string              `json:"pattern,omitempty"`
	AllowEmptyValue  bool                `json:"allowEmptyValue,omitempty"`
	Required         bool                `json:"required,omitempty"`
	UniqueItems      bool                `json:"uniqueItems,omitempty"`
	ExclusiveMin     bool                `json:"exclusiveMinimum,omitempty"`
	ExclusiveMax     bool                `json:"exclusiveMaximum,omitempty"`
	Schema           *openapi3.SchemaRef `json:"schema,omitempty"`
	Items            *openapi3.SchemaRef `json:"items,omitempty"`
	Enum             []interface{}       `json:"enum,omitempty"`
	MultipleOf       *float64            `json:"multipleOf,omitempty"`
	Minimum          *float64            `json:"minimum,omitempty"`
	Maximum          *float64            `json:"maximum,omitempty"`
	MaxLength        *uint64             `json:"maxLength,omitempty"`
	MaxItems         *uint64             `json:"maxItems,omitempty"`
	MinLength        uint64              `json:"minLength,omitempty"`
	MinItems         uint64              `json:"minItems,omitempty"`
	Default          interface{}         `json:"default,omitempty"`
}

func (*Parameter) MarshalJSON added in v0.14.0

func (parameter *Parameter) MarshalJSON() ([]byte, error)

func (*Parameter) UnmarshalJSON added in v0.14.0

func (parameter *Parameter) UnmarshalJSON(data []byte) error

type Parameters

type Parameters []*Parameter

type PathItem

type PathItem struct {
	openapi3.ExtensionProps
	Ref        string     `json:"$ref,omitempty"`
	Delete     *Operation `json:"delete,omitempty"`
	Get        *Operation `json:"get,omitempty"`
	Head       *Operation `json:"head,omitempty"`
	Options    *Operation `json:"options,omitempty"`
	Patch      *Operation `json:"patch,omitempty"`
	Post       *Operation `json:"post,omitempty"`
	Put        *Operation `json:"put,omitempty"`
	Parameters Parameters `json:"parameters,omitempty"`
}

func (*PathItem) GetOperation

func (pathItem *PathItem) GetOperation(method string) *Operation

func (*PathItem) MarshalJSON added in v0.14.0

func (pathItem *PathItem) MarshalJSON() ([]byte, error)

func (*PathItem) Operations

func (pathItem *PathItem) Operations() map[string]*Operation

func (*PathItem) SetOperation

func (pathItem *PathItem) SetOperation(method string, operation *Operation)

func (*PathItem) UnmarshalJSON added in v0.14.0

func (pathItem *PathItem) UnmarshalJSON(data []byte) error

type Response

type Response struct {
	openapi3.ExtensionProps
	Ref         string                 `json:"$ref,omitempty"`
	Description string                 `json:"description,omitempty"`
	Schema      *openapi3.SchemaRef    `json:"schema,omitempty"`
	Headers     map[string]*Header     `json:"headers,omitempty"`
	Examples    map[string]interface{} `json:"examples,omitempty"`
}

func (*Response) MarshalJSON added in v0.14.0

func (response *Response) MarshalJSON() ([]byte, error)

func (*Response) UnmarshalJSON added in v0.14.0

func (response *Response) UnmarshalJSON(data []byte) error

type SecurityRequirements

type SecurityRequirements []map[string][]string

type SecurityScheme

type SecurityScheme struct {
	openapi3.ExtensionProps
	Ref              string            `json:"$ref,omitempty"`
	Description      string            `json:"description,omitempty"`
	Type             string            `json:"type,omitempty"`
	In               string            `json:"in,omitempty"`
	Name             string            `json:"name,omitempty"`
	Flow             string            `json:"flow,omitempty"`
	AuthorizationURL string            `json:"authorizationUrl,omitempty"`
	TokenURL         string            `json:"tokenUrl,omitempty"`
	Scopes           map[string]string `json:"scopes,omitempty"`
	Tags             openapi3.Tags     `json:"tags,omitempty"`
}

func (*SecurityScheme) MarshalJSON added in v0.14.0

func (securityScheme *SecurityScheme) MarshalJSON() ([]byte, error)

func (*SecurityScheme) UnmarshalJSON added in v0.14.0

func (securityScheme *SecurityScheme) UnmarshalJSON(data []byte) error

type Swagger

type Swagger struct {
	openapi3.ExtensionProps
	Swagger             string                         `json:"swagger"`
	Info                openapi3.Info                  `json:"info"`
	ExternalDocs        *openapi3.ExternalDocs         `json:"externalDocs,omitempty"`
	Schemes             []string                       `json:"schemes,omitempty"`
	Host                string                         `json:"host,omitempty"`
	BasePath            string                         `json:"basePath,omitempty"`
	Paths               map[string]*PathItem           `json:"paths,omitempty"`
	Definitions         map[string]*openapi3.SchemaRef `json:"definitions,omitempty,noref"`
	Parameters          map[string]*Parameter          `json:"parameters,omitempty,noref"`
	Responses           map[string]*Response           `json:"responses,omitempty,noref"`
	SecurityDefinitions map[string]*SecurityScheme     `json:"securityDefinitions,omitempty"`
	Security            SecurityRequirements           `json:"security,omitempty"`
	Tags                openapi3.Tags                  `json:"tags,omitempty"`
}

func (*Swagger) AddOperation

func (swagger *Swagger) AddOperation(path string, method string, operation *Operation)

func (*Swagger) MarshalJSON added in v0.14.0

func (swagger *Swagger) MarshalJSON() ([]byte, error)

func (*Swagger) UnmarshalJSON added in v0.14.0

func (swagger *Swagger) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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