package genopenapi
import "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/internal/genopenapi"
Package genopenapi provides a code generator for OpenAPI v2.
Index ¶
- func AddErrorDefs(reg *descriptor.Registry) error
- func LookupNamingStrategy(strategyName string) func([]string) map[string]string
- func New(reg *descriptor.Registry, format Format) gen.Generator
- type ContentEncoder
- type Format
- type GeneratorOptions
- type RawExample
Functions ¶
func AddErrorDefs ¶
func AddErrorDefs(reg *descriptor.Registry) error
AddErrorDefs Adds google.rpc.Status and google.protobuf.Any to registry (used for error-related API responses)
func LookupNamingStrategy ¶
LookupNamingStrategy looks up the given naming strategy and returns the naming strategy function for it. The naming strategy function takes in the list of all fully-qualified proto message names, and returns a mapping from fully-qualified name to OpenAPI name.
func New ¶
func New(reg *descriptor.Registry, format Format) gen.Generator
New returns a new generator which generates grpc gateway files.
Types ¶
type ContentEncoder ¶
type ContentEncoder interface { Encode(v interface{}) (err error) }
type Format ¶
type Format string
func (Format) NewEncoder ¶
func (f Format) NewEncoder(w io.Writer) (ContentEncoder, error)
func (Format) Validate ¶
type GeneratorOptions ¶
type GeneratorOptions struct { Registry *descriptor.Registry RecursiveDepth int }
type RawExample ¶
type RawExample json.RawMessage
func (RawExample) MarshalJSON ¶
func (m RawExample) MarshalJSON() ([]byte, error)
func (RawExample) MarshalYAML ¶
func (e RawExample) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler interface.
It converts RawExample to one of yaml-supported types and returns it.
From yaml.Marshaler docs: The Marshaler interface may be implemented by types to customize their behavior when being marshaled into a YAML document. The returned value is marshaled in place of the original value implementing Marshaler.
func (*RawExample) UnmarshalJSON ¶
func (m *RawExample) UnmarshalJSON(data []byte) error
Source Files ¶
doc.go format.go generator.go helpers.go naming.go template.go types.go
- Version
- v2.26.1 (latest)
- Published
- Feb 7, 2025
- Platform
- linux/amd64
- Imports
- 36 packages
- Last checked
- 6 days ago –
Tools for package owners.