Package io.jmix.rest.impl.openapi
Class OpenAPIGeneratorImpl
java.lang.Object
io.jmix.rest.impl.openapi.OpenAPIGeneratorImpl
- All Implemented Interfaces:
OpenAPIGenerator
@Component("rest_OpenAPIGenerator")
public class OpenAPIGeneratorImpl
extends Object
implements OpenAPIGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected CorePropertiesprotected static final Stringprotected static final Stringprotected static final Stringprotected Metadataprotected MetadataToolsprotected io.swagger.v3.oas.models.OpenAPIprotected RestQueriesConfigurationprotected static final Stringprotected static final Stringprotected Resourcesprotected static final Stringprotected static final Stringprotected RestServicesConfigurationprotected javax.servlet.ServletContext -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuildEntitiesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildEntityFilterPaths(io.swagger.v3.oas.models.OpenAPI openAPI, MetaClass entityClass) protected voidbuildEntityPath(io.swagger.v3.oas.models.OpenAPI openAPI, MetaClass entityClass) protected voidbuildEntityRUDPaths(io.swagger.v3.oas.models.OpenAPI openAPI, MetaClass entityClass) protected voidbuildEntitySchema(io.swagger.v3.oas.models.OpenAPI openAPI, MetaClass entityClass) protected voidbuildErrorSchema(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildInfo(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildQueriesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildServer(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildServicesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidbuildTags(io.swagger.v3.oas.models.OpenAPI openAPI) protected voidprotected io.swagger.v3.oas.models.responses.ApiResponsecreateEntityArrayResponse(String msg, String entityName) protected io.swagger.v3.oas.models.OperationcreateEntityBrowseOperation(MetaClass entityClass) protected io.swagger.v3.oas.models.media.ContentcreateEntityContent(String entityName) protected io.swagger.v3.oas.models.OperationcreateEntityCreateOperation(MetaClass entityClass) protected io.swagger.v3.oas.models.OperationcreateEntityDeleteOperation(MetaClass entityClass) protected List<io.swagger.v3.oas.models.parameters.Parameter>createEntityOptionalParams(boolean singleEntityOperation) protected io.swagger.v3.oas.models.OperationcreateEntityReadOperation(MetaClass entityClass) protected io.swagger.v3.oas.models.responses.ApiResponsecreateEntityResponse(String msg, String entityName) protected io.swagger.v3.oas.models.OperationcreateEntitySearchOperation(MetaClass entityClass, org.springframework.web.bind.annotation.RequestMethod method) protected io.swagger.v3.oas.models.OperationcreateEntityUpdateOperation(MetaClass entityClass) protected io.swagger.v3.oas.models.responses.ApiResponseprotected io.swagger.v3.oas.models.parameters.ParametercreateGetOperationParam(String parameterName, String parameterType) protected List<io.swagger.v3.oas.models.parameters.Parameter>protected io.swagger.v3.oas.models.OperationcreateQueryCountOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) protected io.swagger.v3.oas.models.OperationcreateQueryOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) protected List<io.swagger.v3.oas.models.parameters.Parameter>createQueryOpParams(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method, boolean generateOptionalParams) protected io.swagger.v3.oas.models.parameters.RequestBodycreateQueryRequestBody(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) protected io.swagger.v3.oas.models.OperationcreateServiceMethodOp(String service, RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod) protected List<io.swagger.v3.oas.models.parameters.Parameter>createServiceMethodParams(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod) protected io.swagger.v3.oas.models.parameters.RequestBodycreateServiceMethodRequestBody(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod method) io.swagger.v3.oas.models.OpenAPIprotected StringgetEntitySchemaName(String entityName) protected StringgetEntitySchemaRef(String entityName) protected Stringprotected io.swagger.v3.oas.models.media.Schema<?>getNamePatternProperty(MetaClass entityClass) protected io.swagger.v3.oas.models.media.Schema<?>getObjectProperty(String classFqn) protected io.swagger.v3.oas.models.media.Schema<?>getPrimitiveProperty(String type) protected io.swagger.v3.oas.models.media.Schema<?>protected voidinit()
-
Field Details
-
ENTITY_PATH
- See Also:
-
ENTITY_RUD_OPS
- See Also:
-
ENTITY_SEARCH
- See Also:
-
QUERY_PATH
- See Also:
-
QUERY_COUNT_PATH
- See Also:
-
SERVICE_PATH
- See Also:
-
SCHEMAS_PREFIX
- See Also:
-
ARRAY_SIGNATURE
- See Also:
-
coreProperties
-
servletContext
@Autowired(required=false) protected javax.servlet.ServletContext servletContext -
resources
-
metadata
-
metadataTools
-
queriesConfiguration
-
servicesConfiguration
-
openAPI
protected io.swagger.v3.oas.models.OpenAPI openAPI
-
-
Constructor Details
-
OpenAPIGeneratorImpl
public OpenAPIGeneratorImpl()
-
-
Method Details
-
generateOpenAPI
public io.swagger.v3.oas.models.OpenAPI generateOpenAPI()- Specified by:
generateOpenAPIin interfaceOpenAPIGenerator- Returns:
- a
OpenAPIobject that can be transformed to JSON or YAML version of documentation
-
checkInitialized
protected void checkInitialized() -
init
protected void init() -
buildServer
protected void buildServer(io.swagger.v3.oas.models.OpenAPI openAPI) -
buildInfo
protected void buildInfo(io.swagger.v3.oas.models.OpenAPI openAPI) -
buildErrorSchema
protected void buildErrorSchema(io.swagger.v3.oas.models.OpenAPI openAPI) -
buildTags
protected void buildTags(io.swagger.v3.oas.models.OpenAPI openAPI) -
buildEntitiesPaths
protected void buildEntitiesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) -
buildEntitySchema
-
buildEntityPath
-
buildEntityRUDPaths
-
buildEntityFilterPaths
protected void buildEntityFilterPaths(io.swagger.v3.oas.models.OpenAPI openAPI, MetaClass entityClass) -
createEntityCreateOperation
-
createEntityBrowseOperation
-
createEntityReadOperation
-
createEntityUpdateOperation
-
createEntityDeleteOperation
-
createEntitySearchOperation
protected io.swagger.v3.oas.models.Operation createEntitySearchOperation(MetaClass entityClass, org.springframework.web.bind.annotation.RequestMethod method) -
createEntityOptionalParams
protected List<io.swagger.v3.oas.models.parameters.Parameter> createEntityOptionalParams(boolean singleEntityOperation) -
getNamePatternProperty
-
buildServicesPaths
protected void buildServicesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) -
createServiceMethodOp
protected io.swagger.v3.oas.models.Operation createServiceMethodOp(String service, RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod) -
createServiceMethodParams
protected List<io.swagger.v3.oas.models.parameters.Parameter> createServiceMethodParams(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod) -
createServiceMethodRequestBody
@Nullable protected io.swagger.v3.oas.models.parameters.RequestBody createServiceMethodRequestBody(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod method) -
buildQueriesPaths
protected void buildQueriesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) -
createQueryOperation
protected io.swagger.v3.oas.models.Operation createQueryOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) -
createQueryCountOperation
protected io.swagger.v3.oas.models.Operation createQueryCountOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) -
createQueryOpParams
protected List<io.swagger.v3.oas.models.parameters.Parameter> createQueryOpParams(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method, boolean generateOptionalParams) -
createOptionalQueryParams
-
createQueryRequestBody
@Nullable protected io.swagger.v3.oas.models.parameters.RequestBody createQueryRequestBody(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method) -
createGetOperationParam
-
getPropertyFromJavaType
-
getObjectProperty
-
getPrimitiveProperty
-
createErrorResponse
-
createEntityResponse
-
createEntityArrayResponse
-
createEntityContent
-
getEntitySchemaName
-
getEntitySchemaRef
-
getErrorSchemaRef
-