Documentation
¶
Index ¶
- func NewDoc() (*openapi3.T, error)
- func NewDocFromSkeleton(spec []byte) (*openapi3.T, error)
- type Binder
- type Config
- func (c *Config) BuildDoc(ctx context.Context, use func(m *Manager)) (*openapi3.T, error)
- func (c *Config) DefaultExtractor() Extractor
- func (c *Config) DefaultResolver() Resolver
- func (c *Config) DefaultSelector() Selector
- func (c *Config) EmitDoc(use func(m *Manager))
- func (c *Config) NewManager() (*Manager, func(ctx context.Context) error, error)
- type DefaultSelector
- type Extractor
- type FirstParamInputSelector
- type FirstParamOutputSelector
- type Manager
- type MergeParamsInputSelector
- type NameStore
- 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 RefPair
- type RegisterFuncAction
- type RegisterTypeAction
- type Resolver
- type Selector
- type Transformer
- type UseRefResolver
- 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.T
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 Manager ¶ added in v0.0.2
type Manager struct {
Visitor *Visitor // TODO: changes to unexported field
Resolver Resolver
Actions []*registerAction
Doc *openapi3.T
}
func (*Manager) RegisterFunc ¶ added in v0.0.9
func (m *Manager) RegisterFunc(fn interface{}, modifiers ...func(*openapi3.Operation)) *RegisterFuncAction
func (*Manager) RegisterType ¶ added in v0.0.9
func (m *Manager) RegisterType(ob interface{}, modifiers ...func(*openapi3.Schema)) *RegisterTypeAction
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 NameStore ¶ added in v0.0.9
type NameStore struct {
Prefix string
OnConflict func(*RefPair, int)
// contains filtered or unexported fields
}
func NewNameStore ¶ added in v0.0.9
func NewNameStore() *NameStore
func (*NameStore) BindSchemas ¶ added in v0.0.9
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 RegisterFuncAction ¶ added in v0.0.9
type RegisterFuncAction struct {
// contains filtered or unexported fields
}
func (*RegisterFuncAction) After ¶ added in v0.0.9
func (a *RegisterFuncAction) After(f func(*openapi3.Operation)) *RegisterFuncAction
type RegisterTypeAction ¶ added in v0.0.9
type RegisterTypeAction struct {
// contains filtered or unexported fields
}
func (*RegisterTypeAction) After ¶ added in v0.0.9
func (a *RegisterTypeAction) After(f func(*openapi3.SchemaRef)) *RegisterTypeAction
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 {
*NameStore // for Binder
AdditionalPropertiesAllowed *bool // set as Config.StrictSchema
}
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 ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.