Documentation
¶
Index ¶
- Constants
- func DefaultNameHandler(name string) string
- func GoLowerCamelCasedNameHandler(name string) string
- func LowerCamelCasedNameHandler(name string) string
- func LowerSnakeCasedNameHandler(name string) string
- func NewOpenAPIService(config Config) *restful.WebService
- func ReadSample(sample any) func(b *restful.RouteBuilder)
- type ComponentNameHandlerFunc
- type Config
- type Documented
- type File
- type MapModelTypeNameFunc
- type MapSchemaFormatFunc
- type OpenAPI
- type PostBuildOpenAPIObjectFunc
- type PostBuildOpenAPISchema
- type SchemaType
Constants ¶
const ( // KeyOpenAPITags is a Metadata key for a restful Route KeyOpenAPITags = "openapi.tags" KeySecurityJWT = "security.jwt" // ExtensionPrefix is the only prefix accepted for VendorExtensible extension keys ExtensionPrefix = "x-" MIME_FORMDATA = "multipart/form-data" )
const ( ExGoType = "x-go-type" ExGoTypeImport = "x-go-type-import" )
Extension Parameters
Variables ¶
This section is empty.
Functions ¶
func DefaultNameHandler ¶
DefaultNameHandler GoRestfulDefinition -> GoRestfulDefinition (not changed)
func GoLowerCamelCasedNameHandler ¶
GoLowerCamelCasedNameHandler HTTPRestfulDefinition -> httpRestfulDefinition
func LowerCamelCasedNameHandler ¶
LowerCamelCasedNameHandler GoRestfulDefinition -> goRestfulDefinition
func LowerSnakeCasedNameHandler ¶
LowerSnakeCasedNameHandler GoRestfulDefinition -> go_restful_definition
func NewOpenAPIService ¶
func NewOpenAPIService(config Config) *restful.WebService
NewOpenAPIService returns a new WebService that provides the API documentation of all services conform the OpenAPI documentation specifcation.
func ReadSample ¶ added in v0.4.0
func ReadSample(sample any) func(b *restful.RouteBuilder)
Types ¶
type ComponentNameHandlerFunc ¶
ComponentNameHandlerFunc generate name by this handler for definition without json tag. example: (for more, see file definition_name_test.go)
field definition_name Name `json:"name"` -> name Name -> Name
there are some example provided for use
DefaultNameHandler GoRestfulComponent -> GoRestfulComponent (not changed) LowerSnakeCasedNameHandler GoRestfulComponent -> go_restful_component LowerCamelCasedNameHandler GoRestfulComponent -> goRestfulComponent GoLowerCamelCasedNameHandler HTTPRestfulComponent -> httpRestfulComponent
type Config ¶
type Config struct { // [optional] If set then set this field with the generated Swagger Object Host string // [optional] If set then set this field with the generated Swagger Object Schemes []string // WebServicesURL is a DEPRECATED field; it never had any effect in this package. WebServicesURL string // APIPath is the path where the JSON api is available, e.g. /apidocs.json APIPath string // api listing is constructed from this list of restful WebServices. WebServices []*restful.WebService // [optional] on default CORS (Cross-Origin-Resource-Sharing) is enabled. DisableCORS bool // Top-level API version. Is reflected in the resource listing. APIVersion string // [optional] If set, model builder should call this handler to get addition typename-to-swagger-format-field conversion. SchemaFormatHandler MapSchemaFormatFunc // [optional] If set, model builder should call this handler to retrieve the name for a given type. ModelTypeNameHandler MapModelTypeNameFunc // [optional] If set then call this function with the generated OpenAPI Object PostBuildOpenAPIObjectHandler PostBuildOpenAPIObjectFunc // [optional] If set then call handler's function for to generate name by this handler for definition without json tag, // you can use you ComponentNameHandler, also, there are four ComponentNameHandler provided, see definition_name.go ComponentNameHandler ComponentNameHandlerFunc }
Config holds service api metadata.
type MapModelTypeNameFunc ¶
MapModelTypeNameFunc can be used to return the desired typeName for a given type. It will return false if the default name should be used. To use it set the ModelTypeNameHandler in the config.
type MapSchemaFormatFunc ¶
MapSchemaFormatFunc can be used to modify typeName at definition time. To use it set the SchemaFormatHandler in the config.
type OpenAPI ¶
func BuildOpenAPIV3 ¶
BuildOpenAPIV3 returns a openapi object for all services' API endpoints.
type PostBuildOpenAPIObjectFunc ¶
type PostBuildOpenAPIObjectFunc func(s *OpenAPI)
PostBuildOpenAPIObjectFunc can be used to change the creates OpenAPI Object before serving it. To use it set the PostBuildOpenAPIObjectHandler in the config.
type PostBuildOpenAPISchema ¶
type SchemaType ¶
SchemaType is used to wrap any raw types For example, to return a "schema": "file" one can use Returns(http.StatusOK, http.StatusText(http.StatusOK), SchemaType{RawType: "file"})