Documentation
¶
Index ¶
- func CreateForgeDescriptor(router interface{}, locationType farp.LocationType, ...) (*farp.SchemaDescriptor, error)
- type ForgeProvider
- type OpenAPISpecProvider
- type Provider
- func (p *Provider) ContentType() string
- func (p *Provider) Endpoint() string
- func (p *Provider) Generate(ctx context.Context, app farp.Application) (interface{}, error)
- func (p *Provider) GenerateDescriptor(ctx context.Context, app farp.Application, locationType farp.LocationType, ...) (*farp.SchemaDescriptor, error)
- func (p *Provider) Hash(schema interface{}) (string, error)
- func (p *Provider) Serialize(schema interface{}) ([]byte, error)
- func (p *Provider) SpecVersion() string
- func (p *Provider) Type() farp.SchemaType
- func (p *Provider) Validate(schema interface{}) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateForgeDescriptor ¶
func CreateForgeDescriptor(router interface{}, locationType farp.LocationType, locationConfig map[string]string) (*farp.SchemaDescriptor, error)
CreateForgeDescriptor creates a schema descriptor from a Forge router This is a helper method to simplify descriptor creation
Types ¶
type ForgeProvider ¶
type ForgeProvider struct {
*Provider
}
ForgeProvider is a Forge-specific OpenAPI provider that generates schemas from Forge's built-in OpenAPI generator
func NewForgeProvider ¶
func NewForgeProvider(specVersion string, endpoint string) *ForgeProvider
NewForgeProvider creates a new Forge-integrated OpenAPI provider
func (*ForgeProvider) Generate ¶
func (p *ForgeProvider) Generate(ctx context.Context, app farp.Application) (interface{}, error)
Generate generates OpenAPI schema from Forge application
func (*ForgeProvider) GenerateFromRouter ¶
func (p *ForgeProvider) GenerateFromRouter(provider interface{}) (interface{}, error)
GenerateFromRouter generates OpenAPI schema directly from any type that provides OpenAPI specs This is a convenience method for direct router access
func (*ForgeProvider) Validate ¶
func (p *ForgeProvider) Validate(schema interface{}) error
Validate validates an OpenAPI schema generated from Forge
type OpenAPISpecProvider ¶
type OpenAPISpecProvider interface {
OpenAPISpec() interface{}
}
OpenAPISpecProvider is an interface for types that can provide an OpenAPI spec
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider generates OpenAPI 3.x schemas from applications
func NewProvider ¶
NewProvider creates a new OpenAPI schema provider specVersion should be "3.0.0", "3.0.1", or "3.1.0" (recommended)
func (*Provider) ContentType ¶
ContentType returns the content type
func (*Provider) Generate ¶
Generate generates an OpenAPI schema from the application app should provide Routes() method that returns route information
func (*Provider) GenerateDescriptor ¶
func (p *Provider) GenerateDescriptor(ctx context.Context, app farp.Application, locationType farp.LocationType, locationConfig map[string]string) (*farp.SchemaDescriptor, error)
GenerateDescriptor generates a complete SchemaDescriptor for this schema
func (*Provider) SpecVersion ¶
SpecVersion returns the OpenAPI specification version