Documentation
¶
Index ¶
- func NewDoc() (*openapi3.Swagger, error)
- func NewDocFromSkeleton(skeleton []byte) (*openapi3.Swagger, error)
- type Binder
- type Config
- type DefaultSelector
- type Extractor
- type FirstParamInputSelector
- type FirstParamOutputSelector
- type Manager
- type MergeParamsInputSelector
- type NoRefResolver
- func (r *NoRefResolver) ResolveParameter(v *openapi3.Parameter, s shape.Shape) *openapi3.ParameterRef
- func (r *NoRefResolver) ResolveRequestBody(v *openapi3.RequestBody, s shape.Shape) *openapi3.RequestBodyRef
- func (r *NoRefResolver) ResolveResponse(v *openapi3.Response, s shape.Shape) *openapi3.ResponseRef
- func (r *NoRefResolver) ResolveSchema(v *openapi3.Schema, s shape.Shape) *openapi3.SchemaRef
- type Resolver
- type Selector
- type Transformer
- type UseRefResolver
- func (r *UseRefResolver) Bind(doc *openapi3.Swagger)
- func (r *UseRefResolver) ResolveParameter(v *openapi3.Parameter, s shape.Shape) *openapi3.ParameterRef
- func (r *UseRefResolver) ResolveRequestBody(v *openapi3.RequestBody, s shape.Shape) *openapi3.RequestBodyRef
- func (r *UseRefResolver) ResolveResponse(v *openapi3.Response, s shape.Shape) *openapi3.ResponseRef
- func (r *UseRefResolver) ResolveSchema(v *openapi3.Schema, s shape.Shape) *openapi3.SchemaRef
- type Visitor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶ added in v0.0.2
type Config struct {
Doc *openapi3.Swagger
Resolver Resolver
Selector Selector
Extractor Extractor
StrictSchema bool // if true, use `{additionalProperties: false}` as default
SkipValidation bool // if true, skip validation for api doc definition
SkipExtractComments bool // if true, skip extracting comments as a description
DefaultError interface{}
IsRequiredCheckFunction func(reflect.StructTag) bool // handling required, default is always false
}
func (*Config) DefaultExtractor ¶ added in v0.0.6
func (*Config) DefaultResolver ¶ added in v0.0.6
func (*Config) DefaultSelector ¶ added in v0.0.6
type DefaultSelector ¶ added in v0.0.6
type DefaultSelector struct {
FirstParamInputSelector
FirstParamOutputSelector
}
type FirstParamInputSelector ¶ added in v0.0.6
type FirstParamInputSelector struct{}
func (*FirstParamInputSelector) SelectInput ¶ added in v0.0.6
func (s *FirstParamInputSelector) SelectInput(fn shape.Function) shape.Shape
type FirstParamOutputSelector ¶ added in v0.0.6
type FirstParamOutputSelector struct{}
func (*FirstParamOutputSelector) SelectOutput ¶ added in v0.0.6
func (s *FirstParamOutputSelector) SelectOutput(fn shape.Function) shape.Shape
type MergeParamsInputSelector ¶ added in v0.0.6
type MergeParamsInputSelector struct{}
func (*MergeParamsInputSelector) SelectInput ¶ added in v0.0.6
func (s *MergeParamsInputSelector) SelectInput(fn shape.Function) shape.Shape
type NoRefResolver ¶
type NoRefResolver struct {
AdditionalPropertiesAllowed *bool // set as Config.StrictSchema
}
func (*NoRefResolver) ResolveParameter ¶
func (r *NoRefResolver) ResolveParameter(v *openapi3.Parameter, s shape.Shape) *openapi3.ParameterRef
func (*NoRefResolver) ResolveRequestBody ¶
func (r *NoRefResolver) ResolveRequestBody(v *openapi3.RequestBody, s shape.Shape) *openapi3.RequestBodyRef
func (*NoRefResolver) ResolveResponse ¶
func (r *NoRefResolver) ResolveResponse(v *openapi3.Response, s shape.Shape) *openapi3.ResponseRef
func (*NoRefResolver) ResolveSchema ¶
type Resolver ¶
type Resolver interface {
ResolveSchema(v *openapi3.Schema, s shape.Shape) *openapi3.SchemaRef
ResolveParameter(v *openapi3.Parameter, s shape.Shape) *openapi3.ParameterRef
ResolveRequestBody(v *openapi3.RequestBody, s shape.Shape) *openapi3.RequestBodyRef
ResolveResponse(v *openapi3.Response, s shape.Shape) *openapi3.ResponseRef
}
type Transformer ¶
type Transformer struct {
Resolver
Selector Selector
CacheHit int
IsRequired func(reflect.StructTag) bool
// contains filtered or unexported fields
}
func (*Transformer) Builtin ¶
func (t *Transformer) Builtin() *Transformer
func (*Transformer) RegisterInterception ¶ added in v0.0.2
func (*Transformer) Transform ¶
func (t *Transformer) Transform(s shape.Shape) interface{}
type UseRefResolver ¶
type UseRefResolver struct {
Schemas []*openapi3.SchemaRef
AdditionalPropertiesAllowed *bool // set as Config.StrictSchema
}
func (*UseRefResolver) Bind ¶
func (r *UseRefResolver) Bind(doc *openapi3.Swagger)
func (*UseRefResolver) ResolveParameter ¶
func (r *UseRefResolver) ResolveParameter(v *openapi3.Parameter, s shape.Shape) *openapi3.ParameterRef
func (*UseRefResolver) ResolveRequestBody ¶
func (r *UseRefResolver) ResolveRequestBody(v *openapi3.RequestBody, s shape.Shape) *openapi3.RequestBodyRef
func (*UseRefResolver) ResolveResponse ¶
func (r *UseRefResolver) ResolveResponse(v *openapi3.Response, s shape.Shape) *openapi3.ResponseRef
func (*UseRefResolver) ResolveSchema ¶
type Visitor ¶
type Visitor struct {
*Transformer
CommentLookup *comment.Lookup
Doc *openapi3.Swagger
Schemas map[shape.Identity]*openapi3.Schema
Operations map[shape.Identity]*openapi3.Operation
// contains filtered or unexported fields
}
not visitor pattern
func NewVisitor ¶
Click to show internal directories.
Click to hide internal directories.