Documentation ¶
Overview ¶
package common holds shared codes and types between open API code generator and spec generator.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetOpenAPITypeFormat ¶
This function is a reference for converting go (or any custom type) to a simple open API type,format pair. There are two ways to customize spec for a type. If you add it here, a type will be converted to a simple type and the type comment (the comment that is added before type definition) will be lost. The spec will still have the property comment. The second way is to implement OpenAPIDefinitionGetter interface. That function can customize the spec (so the spec does not need to be simple type,format) or can even return a simple type,format (e.g. IntOrString). For simple type formats, the benefit of adding OpenAPIDefinitionGetter interface is to keep both type and property documentation. Example:
type Sample struct { ... // port of the server port IntOrString ... }
// IntOrString documentation... type IntOrString { ... }
Adding IntOrString to this function:
"port" : { format: "string", type: "int-or-string", Description: "port of the server" }
Implement OpenAPIDefinitionGetter for IntOrString:
"port" : { $Ref: "#/definitions/IntOrString" Description: "port of the server" }
... definitions:
{ "IntOrString": { format: "string", type: "int-or-string", Description: "IntOrString documentation..." // new } }
Types ¶
type Config ¶
type Config struct { // List of supported protocols such as https, http, etc. ProtocolList []string // Info is general information about the API. Info *spec.Info // DefaultResponse will be used if an operation does not have any responses listed. It // will show up as ... "responses" : {"default" : $DefaultResponse} in the spec. DefaultResponse *spec.Response // List of webservice's path prefixes to ignore IgnorePrefixes []string // OpenAPIDefinitions should provide definition for all models used by routes. Failure to provide this map // or any of the models will result in spec generation failure. Definitions *OpenAPIDefinitions // GetOperationID returns operation id for a restful route. It is an optional function to customize operation IDs. GetOperationID func(servePath string, r *restful.Route) (string, error) }
Config is set of configuration for openAPI spec generation.
type OpenAPIDefinition ¶
OpenAPIDefinition describes single type. Normally these definitions are auto-generated using gen-openapi.
type OpenAPIDefinitionGetter ¶
type OpenAPIDefinitionGetter interface {
OpenAPIDefinition() *OpenAPIDefinition
}
OpenAPIDefinitionGetter gets openAPI definitions for a given type. If a type implements this interface, the definition returned by it will be used, otherwise the auto-generated definitions will be used. See GetOpenAPITypeFormat for more information about trade-offs of using this interface or GetOpenAPITypeFormat method when possible.
type OpenAPIDefinitions ¶
type OpenAPIDefinitions map[string]OpenAPIDefinition
OpenAPIDefinitions is collection of all definitions.