@Component(value="rest_OpenAPIGenerator") public class OpenAPIGeneratorImpl extends java.lang.Object implements OpenAPIGenerator
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
ARRAY_SIGNATURE |
protected io.jmix.core.CoreProperties |
coreProperties |
protected static java.lang.String |
ENTITY_PATH |
protected static java.lang.String |
ENTITY_RUD_OPS |
protected static java.lang.String |
ENTITY_SEARCH |
protected io.jmix.core.Metadata |
metadata |
protected io.jmix.core.MetadataTools |
metadataTools |
protected io.swagger.v3.oas.models.OpenAPI |
openAPI |
protected RestQueriesConfiguration |
queriesConfiguration |
protected static java.lang.String |
QUERY_COUNT_PATH |
protected static java.lang.String |
QUERY_PATH |
protected io.jmix.core.Resources |
resources |
protected static java.lang.String |
SCHEMAS_PREFIX |
protected static java.lang.String |
SERVICE_PATH |
protected RestServicesConfiguration |
servicesConfiguration |
protected javax.servlet.ServletContext |
servletContext |
Constructor and Description |
---|
OpenAPIGeneratorImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
buildEntitiesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildEntityFilterPaths(io.swagger.v3.oas.models.OpenAPI openAPI,
io.jmix.core.metamodel.model.MetaClass entityClass) |
protected void |
buildEntityPath(io.swagger.v3.oas.models.OpenAPI openAPI,
io.jmix.core.metamodel.model.MetaClass entityClass) |
protected void |
buildEntityRUDPaths(io.swagger.v3.oas.models.OpenAPI openAPI,
io.jmix.core.metamodel.model.MetaClass entityClass) |
protected void |
buildEntitySchema(io.swagger.v3.oas.models.OpenAPI openAPI,
io.jmix.core.metamodel.model.MetaClass entityClass) |
protected void |
buildErrorSchema(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildInfo(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildQueriesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildServer(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildServicesPaths(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
buildTags(io.swagger.v3.oas.models.OpenAPI openAPI) |
protected void |
checkInitialized() |
protected io.swagger.v3.oas.models.responses.ApiResponse |
createEntityArrayResponse(java.lang.String msg,
java.lang.String entityName) |
protected io.swagger.v3.oas.models.Operation |
createEntityBrowseOperation(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected io.swagger.v3.oas.models.media.Content |
createEntityContent(java.lang.String entityName) |
protected io.swagger.v3.oas.models.Operation |
createEntityCreateOperation(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected io.swagger.v3.oas.models.Operation |
createEntityDeleteOperation(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> |
createEntityOptionalParams(boolean singleEntityOperation) |
protected io.swagger.v3.oas.models.Operation |
createEntityReadOperation(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected io.swagger.v3.oas.models.responses.ApiResponse |
createEntityResponse(java.lang.String msg,
java.lang.String entityName) |
protected io.swagger.v3.oas.models.Operation |
createEntitySearchOperation(io.jmix.core.metamodel.model.MetaClass entityClass,
org.springframework.web.bind.annotation.RequestMethod method) |
protected io.swagger.v3.oas.models.Operation |
createEntityUpdateOperation(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected io.swagger.v3.oas.models.responses.ApiResponse |
createErrorResponse(java.lang.String msg) |
protected io.swagger.v3.oas.models.parameters.Parameter |
createGetOperationParam(java.lang.String parameterName,
java.lang.String parameterType) |
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> |
createOptionalQueryParams() |
protected io.swagger.v3.oas.models.Operation |
createQueryCountOperation(RestQueriesConfiguration.QueryInfo query,
org.springframework.web.bind.annotation.RequestMethod method) |
protected io.swagger.v3.oas.models.Operation |
createQueryOperation(RestQueriesConfiguration.QueryInfo query,
org.springframework.web.bind.annotation.RequestMethod method) |
protected java.util.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.RequestBody |
createQueryRequestBody(RestQueriesConfiguration.QueryInfo query,
org.springframework.web.bind.annotation.RequestMethod method) |
protected io.swagger.v3.oas.models.Operation |
createServiceMethodOp(java.lang.String service,
RestServicesConfiguration.RestMethodInfo methodInfo,
org.springframework.web.bind.annotation.RequestMethod requestMethod) |
protected java.util.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.RequestBody |
createServiceMethodRequestBody(RestServicesConfiguration.RestMethodInfo methodInfo,
org.springframework.web.bind.annotation.RequestMethod method) |
io.swagger.v3.oas.models.OpenAPI |
generateOpenAPI() |
protected java.lang.String |
getEntitySchemaName(java.lang.String entityName) |
protected java.lang.String |
getEntitySchemaRef(java.lang.String entityName) |
protected java.lang.String |
getErrorSchemaRef() |
protected io.swagger.v3.oas.models.media.Schema<?> |
getNamePatternProperty(io.jmix.core.metamodel.model.MetaClass entityClass) |
protected io.swagger.v3.oas.models.media.Schema<?> |
getObjectProperty(java.lang.String classFqn) |
protected io.swagger.v3.oas.models.media.Schema<?> |
getPrimitiveProperty(java.lang.String type) |
protected io.swagger.v3.oas.models.media.Schema<?> |
getPropertyFromJavaType(java.lang.String type) |
protected void |
init() |
protected static final java.lang.String ENTITY_PATH
protected static final java.lang.String ENTITY_RUD_OPS
protected static final java.lang.String ENTITY_SEARCH
protected static final java.lang.String QUERY_PATH
protected static final java.lang.String QUERY_COUNT_PATH
protected static final java.lang.String SERVICE_PATH
protected static final java.lang.String SCHEMAS_PREFIX
protected static final java.lang.String ARRAY_SIGNATURE
@Autowired protected io.jmix.core.CoreProperties coreProperties
@Autowired(required=false) protected javax.servlet.ServletContext servletContext
@Autowired protected io.jmix.core.Resources resources
@Autowired protected io.jmix.core.Metadata metadata
@Autowired protected io.jmix.core.MetadataTools metadataTools
@Autowired protected RestQueriesConfiguration queriesConfiguration
@Autowired protected RestServicesConfiguration servicesConfiguration
protected io.swagger.v3.oas.models.OpenAPI openAPI
public io.swagger.v3.oas.models.OpenAPI generateOpenAPI()
generateOpenAPI
in interface OpenAPIGenerator
OpenAPI
object that can be transformed to JSON or YAML version of documentationprotected void checkInitialized()
protected void init()
protected void buildServer(io.swagger.v3.oas.models.OpenAPI openAPI)
protected void buildInfo(io.swagger.v3.oas.models.OpenAPI openAPI)
protected void buildErrorSchema(io.swagger.v3.oas.models.OpenAPI openAPI)
protected void buildTags(io.swagger.v3.oas.models.OpenAPI openAPI)
protected void buildEntitiesPaths(io.swagger.v3.oas.models.OpenAPI openAPI)
protected void buildEntitySchema(io.swagger.v3.oas.models.OpenAPI openAPI, io.jmix.core.metamodel.model.MetaClass entityClass)
protected void buildEntityPath(io.swagger.v3.oas.models.OpenAPI openAPI, io.jmix.core.metamodel.model.MetaClass entityClass)
protected void buildEntityRUDPaths(io.swagger.v3.oas.models.OpenAPI openAPI, io.jmix.core.metamodel.model.MetaClass entityClass)
protected void buildEntityFilterPaths(io.swagger.v3.oas.models.OpenAPI openAPI, io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntityCreateOperation(io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntityBrowseOperation(io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntityReadOperation(io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntityUpdateOperation(io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntityDeleteOperation(io.jmix.core.metamodel.model.MetaClass entityClass)
protected io.swagger.v3.oas.models.Operation createEntitySearchOperation(io.jmix.core.metamodel.model.MetaClass entityClass, org.springframework.web.bind.annotation.RequestMethod method)
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> createEntityOptionalParams(boolean singleEntityOperation)
protected io.swagger.v3.oas.models.media.Schema<?> getNamePatternProperty(io.jmix.core.metamodel.model.MetaClass entityClass)
protected void buildServicesPaths(io.swagger.v3.oas.models.OpenAPI openAPI)
protected io.swagger.v3.oas.models.Operation createServiceMethodOp(java.lang.String service, RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod)
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> createServiceMethodParams(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod requestMethod)
@Nullable protected io.swagger.v3.oas.models.parameters.RequestBody createServiceMethodRequestBody(RestServicesConfiguration.RestMethodInfo methodInfo, org.springframework.web.bind.annotation.RequestMethod method)
protected void buildQueriesPaths(io.swagger.v3.oas.models.OpenAPI openAPI)
protected io.swagger.v3.oas.models.Operation createQueryOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method)
protected io.swagger.v3.oas.models.Operation createQueryCountOperation(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method)
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> createQueryOpParams(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method, boolean generateOptionalParams)
protected java.util.List<io.swagger.v3.oas.models.parameters.Parameter> createOptionalQueryParams()
@Nullable protected io.swagger.v3.oas.models.parameters.RequestBody createQueryRequestBody(RestQueriesConfiguration.QueryInfo query, org.springframework.web.bind.annotation.RequestMethod method)
protected io.swagger.v3.oas.models.parameters.Parameter createGetOperationParam(java.lang.String parameterName, java.lang.String parameterType)
protected io.swagger.v3.oas.models.media.Schema<?> getPropertyFromJavaType(java.lang.String type)
@Nullable protected io.swagger.v3.oas.models.media.Schema<?> getObjectProperty(java.lang.String classFqn)
@Nullable protected io.swagger.v3.oas.models.media.Schema<?> getPrimitiveProperty(java.lang.String type)
protected io.swagger.v3.oas.models.responses.ApiResponse createErrorResponse(java.lang.String msg)
protected io.swagger.v3.oas.models.responses.ApiResponse createEntityResponse(java.lang.String msg, java.lang.String entityName)
protected io.swagger.v3.oas.models.responses.ApiResponse createEntityArrayResponse(java.lang.String msg, java.lang.String entityName)
protected io.swagger.v3.oas.models.media.Content createEntityContent(java.lang.String entityName)
protected java.lang.String getEntitySchemaName(java.lang.String entityName)
protected java.lang.String getEntitySchemaRef(java.lang.String entityName)
protected java.lang.String getErrorSchemaRef()