Package org.springdoc.core
Class AbstractRequestService
- java.lang.Object
-
- org.springdoc.core.AbstractRequestService
-
public abstract class AbstractRequestService extends Object
The type Abstract request builder.- Author:
- bnasslahsen
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRequestService(GenericParameterService parameterBuilder, RequestBodyService requestBodyService, OperationService operationService, Optional<List<ParameterCustomizer>> parameterCustomizers, org.springframework.core.LocalVariableTableParameterNameDiscoverer localSpringDocParameterNameDiscoverer)
Instantiates a new Abstract request builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addRequestWrapperToIgnore(Class<?>... classes)
Add request wrapper to ignore.void
applyBeanValidatorAnnotations(io.swagger.v3.oas.models.parameters.Parameter parameter, List<Annotation> annotations)
Apply bean validator annotations.void
applyBeanValidatorAnnotations(io.swagger.v3.oas.models.parameters.RequestBody requestBody, List<Annotation> annotations, boolean isOptional)
Apply bean validator annotations.io.swagger.v3.oas.models.Operation
build(org.springframework.web.method.HandlerMethod handlerMethod, org.springframework.web.bind.annotation.RequestMethod requestMethod, io.swagger.v3.oas.models.Operation operation, MethodAttributes methodAttributes, io.swagger.v3.oas.models.OpenAPI openAPI)
Build operation.io.swagger.v3.oas.models.parameters.Parameter
buildParam(ParameterInfo parameterInfo, io.swagger.v3.oas.models.Components components, com.fasterxml.jackson.annotation.JsonView jsonView)
Build param parameter.io.swagger.v3.oas.models.parameters.Parameter
buildParams(ParameterInfo parameterInfo, io.swagger.v3.oas.models.Components components, org.springframework.web.bind.annotation.RequestMethod requestMethod, com.fasterxml.jackson.annotation.JsonView jsonView)
Build params parameter.protected void
customiseParameter(io.swagger.v3.oas.models.parameters.Parameter parameter, ParameterInfo parameterInfo, List<io.swagger.v3.oas.models.parameters.Parameter> operationParameters)
Customise parameter parameter.static Collection<io.swagger.v3.oas.models.parameters.Parameter>
getHeaders(MethodAttributes methodAttributes, Map<String,io.swagger.v3.oas.models.parameters.Parameter> map)
Gets headers.RequestBodyService
getRequestBodyBuilder()
Gets request body builder.boolean
isParamToIgnore(org.springframework.core.MethodParameter parameter)
Is param to ignore boolean.static boolean
isRequestTypeToIgnore(Class<?> rawClass)
Is request type to ignore boolean.boolean
isValidParameter(io.swagger.v3.oas.models.parameters.Parameter parameter)
Is valid parameter boolean.static void
removeRequestWrapperToIgnore(Class<?>... classes)
Remove request wrapper to ignore.
-
-
-
Constructor Detail
-
AbstractRequestService
protected AbstractRequestService(GenericParameterService parameterBuilder, RequestBodyService requestBodyService, OperationService operationService, Optional<List<ParameterCustomizer>> parameterCustomizers, org.springframework.core.LocalVariableTableParameterNameDiscoverer localSpringDocParameterNameDiscoverer)
Instantiates a new Abstract request builder.- Parameters:
parameterBuilder
- the parameter builderrequestBodyService
- the request body builderoperationService
- the operation builderparameterCustomizers
- the parameter customizerslocalSpringDocParameterNameDiscoverer
- the local spring doc parameter name discoverer
-
-
Method Detail
-
addRequestWrapperToIgnore
public static void addRequestWrapperToIgnore(Class<?>... classes)
Add request wrapper to ignore.- Parameters:
classes
- the classes
-
removeRequestWrapperToIgnore
public static void removeRequestWrapperToIgnore(Class<?>... classes)
Remove request wrapper to ignore.- Parameters:
classes
- the classes
-
isRequestTypeToIgnore
public static boolean isRequestTypeToIgnore(Class<?> rawClass)
Is request type to ignore boolean.- Parameters:
rawClass
- the raw class- Returns:
- the boolean
-
build
public io.swagger.v3.oas.models.Operation build(org.springframework.web.method.HandlerMethod handlerMethod, org.springframework.web.bind.annotation.RequestMethod requestMethod, io.swagger.v3.oas.models.Operation operation, MethodAttributes methodAttributes, io.swagger.v3.oas.models.OpenAPI openAPI)
Build operation.- Parameters:
handlerMethod
- the handler methodrequestMethod
- the request methodoperation
- the operationmethodAttributes
- the method attributesopenAPI
- the open api- Returns:
- the operation
-
getHeaders
public static Collection<io.swagger.v3.oas.models.parameters.Parameter> getHeaders(MethodAttributes methodAttributes, Map<String,io.swagger.v3.oas.models.parameters.Parameter> map)
Gets headers.- Parameters:
methodAttributes
- the method attributesmap
- the map- Returns:
- the headers
-
customiseParameter
protected void customiseParameter(io.swagger.v3.oas.models.parameters.Parameter parameter, ParameterInfo parameterInfo, List<io.swagger.v3.oas.models.parameters.Parameter> operationParameters)
Customise parameter parameter.- Parameters:
parameter
- the parameterparameterInfo
- the parameter infooperationParameters
- the operation parameters
-
isParamToIgnore
public boolean isParamToIgnore(org.springframework.core.MethodParameter parameter)
Is param to ignore boolean.- Parameters:
parameter
- the parameter- Returns:
- the boolean
-
isValidParameter
public boolean isValidParameter(io.swagger.v3.oas.models.parameters.Parameter parameter)
Is valid parameter boolean.- Parameters:
parameter
- the parameter- Returns:
- the boolean
-
buildParams
public io.swagger.v3.oas.models.parameters.Parameter buildParams(ParameterInfo parameterInfo, io.swagger.v3.oas.models.Components components, org.springframework.web.bind.annotation.RequestMethod requestMethod, com.fasterxml.jackson.annotation.JsonView jsonView)
Build params parameter.- Parameters:
parameterInfo
- the parameter infocomponents
- the componentsrequestMethod
- the request methodjsonView
- the json view- Returns:
- the parameter
-
buildParam
public io.swagger.v3.oas.models.parameters.Parameter buildParam(ParameterInfo parameterInfo, io.swagger.v3.oas.models.Components components, com.fasterxml.jackson.annotation.JsonView jsonView)
Build param parameter.- Parameters:
parameterInfo
- the parameter infocomponents
- the componentsjsonView
- the json view- Returns:
- the parameter
-
applyBeanValidatorAnnotations
public void applyBeanValidatorAnnotations(io.swagger.v3.oas.models.parameters.Parameter parameter, List<Annotation> annotations)
Apply bean validator annotations.- Parameters:
parameter
- the parameterannotations
- the annotations
-
applyBeanValidatorAnnotations
public void applyBeanValidatorAnnotations(io.swagger.v3.oas.models.parameters.RequestBody requestBody, List<Annotation> annotations, boolean isOptional)
Apply bean validator annotations.- Parameters:
requestBody
- the request bodyannotations
- the annotationsisOptional
- the is optional
-
getRequestBodyBuilder
public RequestBodyService getRequestBodyBuilder()
Gets request body builder.- Returns:
- the request body builder
-
-