Package org.springdoc.webmvc.api
Class OpenApiWebMvcResource
- java.lang.Object
-
- io.swagger.v3.core.filter.SpecFilter
-
- org.springdoc.api.AbstractOpenApiResource
-
- org.springdoc.webmvc.api.OpenApiResource
-
- org.springdoc.webmvc.api.OpenApiWebMvcResource
-
@RestController public class OpenApiWebMvcResource extends OpenApiResource
The type Open api resource.- Author:
- bnasslahsen
-
-
Field Summary
-
Fields inherited from class org.springdoc.api.AbstractOpenApiResource
groupName, openAPIService, optionalActuatorProvider, springDocConfigProperties
-
-
Constructor Summary
Constructors Constructor Description OpenApiWebMvcResource(String groupName, org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, Optional<ActuatorProvider> actuatorProvider, Optional<List<OperationCustomizer>> operationCustomizers, Optional<List<OpenApiCustomiser>> openApiCustomisers, SpringDocConfigProperties springDocConfigProperties, Optional<SecurityOAuth2Provider> springSecurityOAuth2Provider, Optional<RouterFunctionProvider> routerFunctionProvider, Optional<RepositoryRestResourceProvider> repositoryRestResourceProvider)
Instantiates a new Open api web mvc resource.OpenApiWebMvcResource(org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, Optional<ActuatorProvider> actuatorProvider, Optional<List<OperationCustomizer>> operationCustomizers, Optional<List<OpenApiCustomiser>> openApiCustomisers, SpringDocConfigProperties springDocConfigProperties, Optional<SecurityOAuth2Provider> springSecurityOAuth2Provider, Optional<RouterFunctionProvider> routerFunctionProvider, Optional<RepositoryRestResourceProvider> repositoryRestResourceProvider)
Instantiates a new Open api web mvc resource.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
findPathPrefix(org.springframework.context.ApplicationContext applicationContext, SpringDocConfigProperties springDocConfigProperties)
Finds path prefix.protected String
getServerUrl(javax.servlet.http.HttpServletRequest request, String apiDocsUrl)
Gets server url.String
openapiJson(javax.servlet.http.HttpServletRequest request, String apiDocsUrl, Locale locale)
Openapi json string.String
openapiYaml(javax.servlet.http.HttpServletRequest request, String apiDocsUrl, Locale locale)
Openapi yaml string.-
Methods inherited from class org.springdoc.webmvc.api.OpenApiResource
calculatePath, calculateServerUrl, getActivePatterns, getPaths
-
Methods inherited from class org.springdoc.api.AbstractOpenApiResource
addHiddenRestControllers, addHiddenRestControllers, addRestControllers, calculatePath, calculatePath, calculatePath, calculatePath, containsResponseBody, customiseOperation, decode, getActuatorURI, getDefaultAllowedHttpMethods, getOpenApi, getRouterFunctionPaths, initOpenAPIBuilder, isActuatorRestController, isAdditionalRestController, isConditionToMatch, isFilterCondition, isHiddenRestControllers, isPackageToScan, isPathToMatch, isRestController, isShowActuator, mergeRouters, writeJsonValue, writeYamlValue
-
-
-
-
Constructor Detail
-
OpenApiWebMvcResource
public OpenApiWebMvcResource(String groupName, org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, Optional<ActuatorProvider> actuatorProvider, Optional<List<OperationCustomizer>> operationCustomizers, Optional<List<OpenApiCustomiser>> openApiCustomisers, SpringDocConfigProperties springDocConfigProperties, Optional<SecurityOAuth2Provider> springSecurityOAuth2Provider, Optional<RouterFunctionProvider> routerFunctionProvider, Optional<RepositoryRestResourceProvider> repositoryRestResourceProvider)
Instantiates a new Open api web mvc resource.- Parameters:
groupName
- the group nameopenAPIBuilderObjectFactory
- the open api builder object factoryrequestBuilder
- the request builderresponseBuilder
- the response builderoperationParser
- the operation parseractuatorProvider
- the actuator provideroperationCustomizers
- the operation customizersopenApiCustomisers
- the open api customisersspringDocConfigProperties
- the spring doc config propertiesspringSecurityOAuth2Provider
- the spring security o auth 2 providerrouterFunctionProvider
- the router function providerrepositoryRestResourceProvider
- the repository rest resource provider
-
OpenApiWebMvcResource
@Autowired public OpenApiWebMvcResource(org.springframework.beans.factory.ObjectFactory<OpenAPIService> openAPIBuilderObjectFactory, AbstractRequestService requestBuilder, GenericResponseService responseBuilder, OperationService operationParser, Optional<ActuatorProvider> actuatorProvider, Optional<List<OperationCustomizer>> operationCustomizers, Optional<List<OpenApiCustomiser>> openApiCustomisers, SpringDocConfigProperties springDocConfigProperties, Optional<SecurityOAuth2Provider> springSecurityOAuth2Provider, Optional<RouterFunctionProvider> routerFunctionProvider, Optional<RepositoryRestResourceProvider> repositoryRestResourceProvider)
Instantiates a new Open api web mvc resource.- Parameters:
openAPIBuilderObjectFactory
- the open api builder object factoryrequestBuilder
- the request builderresponseBuilder
- the response builderoperationParser
- the operation parseractuatorProvider
- the actuator provideroperationCustomizers
- the operation customizersopenApiCustomisers
- the open api customisersspringDocConfigProperties
- the spring doc config propertiesspringSecurityOAuth2Provider
- the spring security o auth 2 providerrouterFunctionProvider
- the router function providerrepositoryRestResourceProvider
- the repository rest resource provider
-
-
Method Detail
-
openapiJson
@GetMapping(value="${springdoc.api-docs.path:#{T(org.springdoc.core.Constants).DEFAULT_API_DOCS_URL}}", produces="application/json") public String openapiJson(javax.servlet.http.HttpServletRequest request, @Value("${springdoc.api-docs.path:#{T(org.springdoc.core.Constants).DEFAULT_API_DOCS_URL}}") String apiDocsUrl, Locale locale) throws com.fasterxml.jackson.core.JsonProcessingException
Openapi json string.- Overrides:
openapiJson
in classOpenApiResource
- Parameters:
request
- the requestapiDocsUrl
- the api docs urllocale
- the locale- Returns:
- the string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- the json processing exception
-
openapiYaml
@GetMapping(value="${springdoc.api-docs.path:#{T(org.springdoc.core.Constants).DEFAULT_API_DOCS_URL}}.yaml", produces="application/vnd.oai.openapi") public String openapiYaml(javax.servlet.http.HttpServletRequest request, @Value("${springdoc.api-docs.path:#{T(org.springdoc.core.Constants).DEFAULT_API_DOCS_URL}}.yaml") String apiDocsUrl, Locale locale) throws com.fasterxml.jackson.core.JsonProcessingException
Openapi yaml string.- Overrides:
openapiYaml
in classOpenApiResource
- Parameters:
request
- the requestapiDocsUrl
- the api docs urllocale
- the locale- Returns:
- the string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- the json processing exception
-
getServerUrl
protected String getServerUrl(javax.servlet.http.HttpServletRequest request, String apiDocsUrl)
Gets server url.- Specified by:
getServerUrl
in classOpenApiResource
- Parameters:
request
- the requestapiDocsUrl
- the api docs url- Returns:
- the server url
-
findPathPrefix
public static String findPathPrefix(org.springframework.context.ApplicationContext applicationContext, SpringDocConfigProperties springDocConfigProperties)
Finds path prefix.- Parameters:
applicationContext
- the application contextspringDocConfigProperties
- the spring doc config properties- Returns:
- the path prefix
-
-