Class RestOpenApiComponent
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultComponent
org.apache.camel.component.rest.openapi.RestOpenApiComponent
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.CamelContextAware,org.apache.camel.Component,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.HasCamelContext,org.apache.camel.SSLContextParametersAware,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
@Component("rest-openapi")
public final class RestOpenApiComponent
extends org.apache.camel.support.DefaultComponent
implements org.apache.camel.SSLContextParametersAware
An awesome REST component backed by OpenApi specifications. Creates endpoints that connect to REST APIs defined by
OpenApi specification. This component delegates to other
RestProducerFactory components to act as REST
clients, but it configures them from OpenApi specification. Client needs to point to operation that it wants to
invoke via REST, provide any additional HTTP headers as headers in the Camel message, and any payload as the body of
the incoming message.
Example usage using Java DSL:
from(...).to("rest-openapi:https://petstore3.swagger.io/api/v3/openapi.json#getPetById")
This relies on only one RestProducerFactory component being available to Camel, you can use specific, for
instance preconfigured component by using the componentName endpoint property. For example using Undertow
component in Java DSL:
Component undertow = new UndertowComponent();
undertow.setSslContextParameters(...);
//...
camelContext.addComponent("myUndertow", undertow);
from(...).to("rest-openapi:https://petstore3.swagger.io/api/v3/openapi.json#getPetById?componentName=myUndertow")
The most concise way of using this component would be to define it in the Camel context under a meaningful name, for example:
Component petstore = new RestOpenApiComponent();
petstore.setSpecificationUri("https://petstore3.swagger.io/api/v3/openapi.json");
petstore.setComponentName("undertow");
//...
camelContext.addComponent("petstore", petstore);
from(...).to("petstore:getPetById")
-
Field Summary
FieldsFields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.camel.Endpointprotected voiddoInit()getHost()org.apache.camel.support.jsse.SSLContextParametersbooleanbooleanbooleanvoidsetApiContextPath(String apiContextPath) voidsetBasePath(String basePath) voidsetBindingPackageScan(String bindingPackageScan) voidsetClientRequestValidation(boolean clientRequestValidation) voidsetComponentName(String componentName) voidsetConsumerComponentName(String consumerComponentName) voidsetConsumes(String consumes) voidvoidsetMissingOperation(String missingOperation) voidsetMockIncludePattern(String mockIncludePattern) voidsetProduces(String produces) voidsetRequestValidationEnabled(boolean requestValidationEnabled) voidsetRestOpenapiProcessorStrategy(RestOpenapiProcessorStrategy restOpenapiProcessorStrategy) voidsetSpecificationUri(String specificationUri) voidsetSslContextParameters(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters) voidsetUseGlobalSslContextParameters(boolean useGlobalSslContextParameters) Methods inherited from class org.apache.camel.support.DefaultComponent
afterConfiguration, createEndpoint, createEndpoint, doBuild, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, getComponentPropertyConfigurer, getDefaultName, getEndpointPropertyConfigurer, getExtension, getSupportedExtensions, ifStartsWithReturnRemainder, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, registerExtension, registerExtension, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, resolveRawParameterValues, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setLazyStartProducer, setProperties, setProperties, setProperties, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURIMethods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, doShutdown, doStart, doStop, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.CamelContextAware
setCamelContextMethods inherited from interface org.apache.camel.spi.HasCamelContext
getCamelContextMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.SSLContextParametersAware
retrieveGlobalSslContextParametersMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Field Details
-
DEFAULT_BASE_PATH
- See Also:
-
-
Constructor Details
-
RestOpenApiComponent
public RestOpenApiComponent() -
RestOpenApiComponent
public RestOpenApiComponent(org.apache.camel.CamelContext context)
-
-
Method Details
-
createEndpoint
protected org.apache.camel.Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception- Specified by:
createEndpointin classorg.apache.camel.support.DefaultComponent- Throws:
Exception
-
doInit
- Overrides:
doInitin classorg.apache.camel.support.DefaultComponent- Throws:
Exception
-
getBasePath
-
getComponentName
-
getConsumerComponentName
-
getConsumes
-
getHost
-
getProduces
-
getSpecificationUri
-
getSslContextParameters
public org.apache.camel.support.jsse.SSLContextParameters getSslContextParameters() -
isUseGlobalSslContextParameters
public boolean isUseGlobalSslContextParameters()- Specified by:
isUseGlobalSslContextParametersin interfaceorg.apache.camel.SSLContextParametersAware
-
getRestOpenapiProcessorStrategy
-
setRestOpenapiProcessorStrategy
public void setRestOpenapiProcessorStrategy(RestOpenapiProcessorStrategy restOpenapiProcessorStrategy) -
getMissingOperation
-
setMissingOperation
-
getMockIncludePattern
-
setMockIncludePattern
-
getApiContextPath
-
setApiContextPath
-
setBasePath
-
setComponentName
-
setConsumerComponentName
-
setConsumes
-
setHost
-
setProduces
-
setSpecificationUri
-
setSslContextParameters
public void setSslContextParameters(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters) -
setUseGlobalSslContextParameters
public void setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters) - Specified by:
setUseGlobalSslContextParametersin interfaceorg.apache.camel.SSLContextParametersAware
-
setRequestValidationEnabled
public void setRequestValidationEnabled(boolean requestValidationEnabled) -
isRequestValidationEnabled
public boolean isRequestValidationEnabled() -
isClientRequestValidation
public boolean isClientRequestValidation() -
setClientRequestValidation
public void setClientRequestValidation(boolean clientRequestValidation) -
getBindingPackageScan
-
setBindingPackageScan
-