public class OpenApiControllerVisitor extends Object implements TypeElementVisitor<Controller,HttpMethodMapping>
TypeElementVisitor the builds the Swagger model from Micronaut controllers at compile time.| Constructor and Description |
|---|
OpenApiControllerVisitor() |
| Modifier and Type | Method and Description |
|---|---|
protected io.swagger.v3.oas.models.media.Schema |
bindSchemaAnnotationValue(VisitorContext context,
Element element,
io.swagger.v3.oas.models.media.Schema schemaToBind,
AnnotationValue<io.swagger.v3.oas.annotations.media.Schema> schemaAnn)
Binds the schema for the given element.
|
protected io.swagger.v3.oas.models.media.Schema |
bindSchemaForElement(VisitorContext context,
Element element,
ClassElement elementType,
io.swagger.v3.oas.models.media.Schema schemaToBind)
Binds the schema for the given element.
|
protected void |
normalizeEnumValues(Map<CharSequence,Object> paramValues,
Map<String,Class<? extends Enum>> enumTypes)
Normalizes enum values stored in the map.
|
protected void |
processSchemaProperty(VisitorContext context,
Element element,
ClassElement elementType,
io.swagger.v3.oas.models.media.Schema parentSchema,
io.swagger.v3.oas.models.media.Schema propertySchema)
Processes a schema property.
|
protected void |
processSecuritySchemes(ClassElement element,
VisitorContext context)
Processes
SecurityScheme annotations. |
protected io.swagger.v3.oas.models.Components |
resolveComponents(io.swagger.v3.oas.models.OpenAPI openAPI)
Resolve the components.
|
protected io.swagger.v3.oas.models.media.Schema |
resolveSchema(io.swagger.v3.oas.models.OpenAPI openAPI,
Element definingElement,
ClassElement type,
VisitorContext context,
String mediaType)
Resolves the schema for the given type element.
|
protected Map<CharSequence,Object> |
toValueMap(Map<CharSequence,Object> values,
VisitorContext context)
Convert the values to a map.
|
void |
visitClass(ClassElement element,
VisitorContext context)
Executed when a class is encountered that matches the
|
void |
visitMethod(MethodElement element,
VisitorContext context)
Executed when a method is encountered that matches the
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfinish, start, visitConstructor, visitFieldpublic void visitClass(ClassElement element, VisitorContext context)
TypeElementVisitorvisitClass in interface TypeElementVisitor<Controller,HttpMethodMapping>element - The elementcontext - The visitor contextpublic void visitMethod(MethodElement element, VisitorContext context)
TypeElementVisitorvisitMethod in interface TypeElementVisitor<Controller,HttpMethodMapping>element - The elementcontext - The visitor contextprotected Map<CharSequence,Object> toValueMap(Map<CharSequence,Object> values, VisitorContext context)
values - The valuescontext - The visitor context@Nullable protected io.swagger.v3.oas.models.media.Schema resolveSchema(io.swagger.v3.oas.models.OpenAPI openAPI, @Nullable Element definingElement, ClassElement type, VisitorContext context, @Nullable String mediaType)
openAPI - The OpenAPI objectdefiningElement - The defining elementtype - The type elementcontext - The contextmediaType - An optional media typeprotected io.swagger.v3.oas.models.Components resolveComponents(io.swagger.v3.oas.models.OpenAPI openAPI)
openAPI - The open APIprotected void processSchemaProperty(VisitorContext context, Element element, ClassElement elementType, io.swagger.v3.oas.models.media.Schema parentSchema, io.swagger.v3.oas.models.media.Schema propertySchema)
context - The visitor contextelement - The elementelementType - The elemen typeparentSchema - The parent schemapropertySchema - The property schemaprotected io.swagger.v3.oas.models.media.Schema bindSchemaForElement(VisitorContext context, Element element, ClassElement elementType, io.swagger.v3.oas.models.media.Schema schemaToBind)
context - The contextelement - The elementelementType - The element typeschemaToBind - The schema to bindprotected io.swagger.v3.oas.models.media.Schema bindSchemaAnnotationValue(VisitorContext context, Element element, io.swagger.v3.oas.models.media.Schema schemaToBind, AnnotationValue<io.swagger.v3.oas.annotations.media.Schema> schemaAnn)
context - The contextelement - The elementschemaToBind - The schema to bindschemaAnn - The schema annotationprotected void processSecuritySchemes(ClassElement element, VisitorContext context)
SecurityScheme annotations.element - The elementcontext - The visitor context