Package org.springdoc.api
Class AbstractOpenApiResource
java.lang.Object
io.swagger.v3.core.filter.SpecFilter
org.springdoc.api.AbstractOpenApiResource
public abstract class AbstractOpenApiResource
extends io.swagger.v3.core.filter.SpecFilter
The type Abstract open api resource.
- Author:
- bnasslahsen, kevinraddatz, hyeonisism, doljae
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final String
The Group name.protected OpenAPIService
The Open api builder.protected final SpringDocConfigProperties
The Spring doc config properties.protected final SpringDocCustomizers
The Spring doc customizers.protected final SpringDocProviders
The Spring doc providers. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractOpenApiResource
(String groupName, org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, SpringDocConfigProperties springDocConfigProperties, SpringDocProviders springDocProviders, SpringDocCustomizers springDocCustomizers) Instantiates a new Abstract open api resource. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
addHiddenRestControllers
(Class<?>... classes) Add hidden rest controllers.static void
addHiddenRestControllers
(String... classes) Add hidden rest controllers.static void
addRestControllers
(Class<?>... classes) Add rest controllers.protected void
calculatePath
(List<RouterOperation> routerOperationList, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.protected void
calculatePath
(RouterOperation routerOperation, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.protected void
calculatePath
(org.springframework.web.method.HandlerMethod handlerMethod, String operationPath, Set<org.springframework.web.bind.annotation.RequestMethod> requestMethods, String[] consumes, String[] produces, String[] headers, String[] params, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.protected void
calculatePath
(org.springframework.web.method.HandlerMethod handlerMethod, RouterOperation routerOperation, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.static boolean
containsResponseBody
(org.springframework.web.method.HandlerMethod handlerMethod) Contains response body boolean.protected io.swagger.v3.oas.models.Operation
customizeOperation
(io.swagger.v3.oas.models.Operation operation, org.springframework.web.method.HandlerMethod handlerMethod) Customise operation.protected RouterOperation
customizeRouterOperation
(RouterOperation routerOperation, org.springframework.web.method.HandlerMethod handlerMethod) Customise router operationprotected String
Decode string.protected URI
getActuatorURI
(String scheme, String host) Gets actuator uri.protected Set<org.springframework.web.bind.annotation.RequestMethod>
Gets default allowed http methods.protected io.swagger.v3.oas.models.OpenAPI
getOpenApi
(Locale locale) Gets open api.protected abstract void
getPaths
(Map<String, Object> findRestControllers, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Gets paths.protected void
getRouterFunctionPaths
(String beanName, AbstractRouterFunctionVisitor routerFunctionVisitor, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Gets router function paths.protected void
initOpenAPIBuilder
(Locale locale) Init open api builder.protected boolean
isActuatorRestController
(String operationPath, org.springframework.web.method.HandlerMethod handlerMethod) Is actuator rest controller boolean.protected boolean
isAdditionalRestController
(Class<?> rawClass) Is additional rest controller boolean.protected boolean
isConditionToMatch
(String[] existingConditions, org.springdoc.api.AbstractOpenApiResource.ConditionType conditionType) Is condition to match boolean.protected boolean
isFilterCondition
(org.springframework.web.method.HandlerMethod handlerMethod, String operationPath, String[] produces, String[] consumes, String[] headers) Is filter condition boolean.static boolean
isHiddenRestControllers
(Class<?> rawClass) Is hidden rest controllers boolean.protected boolean
isMethodToFilter
(org.springframework.web.method.HandlerMethod handlerMethod) Is target method suitable for inclusion in current documentation/protected boolean
isPackageToScan
(Package aPackage) Is package to scan boolean.protected boolean
isPathToMatch
(String operationPath) Is path to match boolean.protected boolean
isRestController
(Map<String, Object> restControllers, org.springframework.web.method.HandlerMethod handlerMethod, String operationPath) Is rest controller boolean.protected void
mergeRouters
(List<RouterFunctionData> routerFunctionDatas, List<RouterOperation> routerOperationList) Merge routers.static void
setModelAndViewClass
(Class<?> modelAndViewClass) Sets model and view class.protected byte[]
writeJsonValue
(io.swagger.v3.oas.models.OpenAPI openAPI) Write json value string.protected byte[]
writeYamlValue
(io.swagger.v3.oas.models.OpenAPI openAPI) Write yaml value string.Methods inherited from class io.swagger.v3.core.filter.SpecFilter
filter, filterComponentsSchema, filterOpenAPI, filterOperation, filterParameter, filterPathItem, filterRequestBody, filterResponse, locateReferencedDefinitions, removeBrokenReferenceDefinitions, resolveAllNestedRefs
-
Field Details
-
springDocConfigProperties
The Spring doc config properties. -
groupName
The Group name. -
springDocProviders
The Spring doc providers. -
openAPIService
The Open api builder. -
springDocCustomizers
The Spring doc customizers.
-
-
Constructor Details
-
AbstractOpenApiResource
protected AbstractOpenApiResource(String groupName, org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, SpringDocConfigProperties springDocConfigProperties, SpringDocProviders springDocProviders, SpringDocCustomizers springDocCustomizers) Instantiates a new Abstract open api resource.- Parameters:
groupName
- the group nameopenAPIBuilderObjectFactory
- the open api builder object factoryrequestBuilder
- the request builderresponseBuilder
- the response builderoperationParser
- the operation parserspringDocConfigProperties
- the spring doc config propertiesspringDocProviders
- the spring doc providersspringDocCustomizers
- the spring doc customizers
-
-
Method Details
-
addRestControllers
Add rest controllers.- Parameters:
classes
- the classes
-
addHiddenRestControllers
Add hidden rest controllers.- Parameters:
classes
- the classes
-
addHiddenRestControllers
Add hidden rest controllers.- Parameters:
classes
- the classes
-
containsResponseBody
public static boolean containsResponseBody(org.springframework.web.method.HandlerMethod handlerMethod) Contains response body boolean.- Parameters:
handlerMethod
- the handler method- Returns:
- the boolean
-
isHiddenRestControllers
Is hidden rest controllers boolean.- Parameters:
rawClass
- the raw class- Returns:
- the boolean
-
setModelAndViewClass
Sets model and view class.- Parameters:
modelAndViewClass
- the model and view class
-
getOpenApi
Gets open api.- Parameters:
locale
- the locale- Returns:
- the open api
-
getPaths
protected abstract void getPaths(Map<String, Object> findRestControllers, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Gets paths.- Parameters:
findRestControllers
- the find rest controllerslocale
- the localeopenAPI
- the open api
-
calculatePath
protected void calculatePath(org.springframework.web.method.HandlerMethod handlerMethod, RouterOperation routerOperation, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.- Parameters:
handlerMethod
- the handler methodrouterOperation
- the router operationlocale
- the localeopenAPI
- the open api
-
calculatePath
protected void calculatePath(List<RouterOperation> routerOperationList, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.- Parameters:
routerOperationList
- the router operation listlocale
- the localeopenAPI
- the open api
-
calculatePath
protected void calculatePath(RouterOperation routerOperation, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.- Parameters:
routerOperation
- the router operationlocale
- the locale
-
calculatePath
protected void calculatePath(org.springframework.web.method.HandlerMethod handlerMethod, String operationPath, Set<org.springframework.web.bind.annotation.RequestMethod> requestMethods, String[] consumes, String[] produces, String[] headers, String[] params, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Calculate path.- Parameters:
handlerMethod
- the handler methodoperationPath
- the operation pathrequestMethods
- the request methodsconsumes
- the consumesproduces
- the producesheaders
- the headerslocale
- the locale
-
getRouterFunctionPaths
protected void getRouterFunctionPaths(String beanName, AbstractRouterFunctionVisitor routerFunctionVisitor, Locale locale, io.swagger.v3.oas.models.OpenAPI openAPI) Gets router function paths.- Parameters:
beanName
- the bean namerouterFunctionVisitor
- the router function visitorlocale
- the localeopenAPI
- the open api
-
isFilterCondition
protected boolean isFilterCondition(org.springframework.web.method.HandlerMethod handlerMethod, String operationPath, String[] produces, String[] consumes, String[] headers) Is filter condition boolean.- Parameters:
handlerMethod
- the handler methodoperationPath
- the operation pathproduces
- the producesconsumes
- the consumesheaders
- the headers- Returns:
- the boolean
-
isMethodToFilter
protected boolean isMethodToFilter(org.springframework.web.method.HandlerMethod handlerMethod) Is target method suitable for inclusion in current documentation/- Parameters:
handlerMethod
- the method to check- Returns:
- whether the method should be included in the current OpenAPI definition
-
isConditionToMatch
protected boolean isConditionToMatch(String[] existingConditions, org.springdoc.api.AbstractOpenApiResource.ConditionType conditionType) Is condition to match boolean.- Parameters:
existingConditions
- the existing conditionsconditionType
- the condition type- Returns:
- the boolean
-
isPackageToScan
Is package to scan boolean.- Parameters:
aPackage
- the a package- Returns:
- the boolean
-
isPathToMatch
Is path to match boolean.- Parameters:
operationPath
- the operation path- Returns:
- the boolean
-
decode
Decode string.- Parameters:
requestURI
- the request uri- Returns:
- the string
-
isAdditionalRestController
Is additional rest controller boolean.- Parameters:
rawClass
- the raw class- Returns:
- the boolean
-
isRestController
protected boolean isRestController(Map<String, Object> restControllers, org.springframework.web.method.HandlerMethod handlerMethod, String operationPath) Is rest controller boolean.- Parameters:
restControllers
- the rest controllershandlerMethod
- the handler methodoperationPath
- the operation path- Returns:
- the boolean
-
getDefaultAllowedHttpMethods
Gets default allowed http methods.- Returns:
- the default allowed http methods
-
customizeOperation
protected io.swagger.v3.oas.models.Operation customizeOperation(io.swagger.v3.oas.models.Operation operation, org.springframework.web.method.HandlerMethod handlerMethod) Customise operation.- Parameters:
operation
- the operationhandlerMethod
- the handler method- Returns:
- the operation
-
customizeRouterOperation
protected RouterOperation customizeRouterOperation(RouterOperation routerOperation, org.springframework.web.method.HandlerMethod handlerMethod) Customise router operation- Parameters:
routerOperation
- the router operationhandlerMethod
- the handler method- Returns:
- the router operation
-
mergeRouters
protected void mergeRouters(List<RouterFunctionData> routerFunctionDatas, List<RouterOperation> routerOperationList) Merge routers.- Parameters:
routerFunctionDatas
- the router function datasrouterOperationList
- the router operation list
-
initOpenAPIBuilder
Init open api builder.- Parameters:
locale
- the locale
-
writeYamlValue
protected byte[] writeYamlValue(io.swagger.v3.oas.models.OpenAPI openAPI) throws com.fasterxml.jackson.core.JsonProcessingException Write yaml value string.- Parameters:
openAPI
- the open api- Returns:
- the string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- the json processing exception
-
getActuatorURI
Gets actuator uri.- Parameters:
scheme
- the schemehost
- the host- Returns:
- the actuator uri
-
isActuatorRestController
protected boolean isActuatorRestController(String operationPath, org.springframework.web.method.HandlerMethod handlerMethod) Is actuator rest controller boolean.- Parameters:
operationPath
- the operation pathhandlerMethod
- the handler method- Returns:
- the boolean
-
writeJsonValue
protected byte[] writeJsonValue(io.swagger.v3.oas.models.OpenAPI openAPI) throws com.fasterxml.jackson.core.JsonProcessingException Write json value string.- Parameters:
openAPI
- the open api- Returns:
- the string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- the json processing exception
-