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.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.SSLContextParametersAwareAn awesome REST component backed by OpenApi specifications. Creates endpoints that connect to REST APIs defined by OpenApi specification. This component delegates to otherRestProducerFactorycomponents 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 oneRestProducerFactorycomponent being available to Camel, you can use specific, for instance preconfigured component by using thecomponentNameendpoint 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
Fields Modifier and Type Field Description static StringDEFAULT_BASE_PATH
-
Constructor Summary
Constructors Constructor Description RestOpenApiComponent()RestOpenApiComponent(org.apache.camel.CamelContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.camel.EndpointcreateEndpoint(String uri, String remaining, Map<String,Object> parameters)StringgetBasePath()StringgetComponentName()StringgetConsumes()StringgetHost()StringgetProduces()URIgetSpecificationUri()org.apache.camel.support.jsse.SSLContextParametersgetSslContextParameters()booleanisUseGlobalSslContextParameters()voidsetBasePath(String basePath)voidsetComponentName(String componentName)voidsetConsumes(String consumes)voidsetHost(String host)voidsetProduces(String produces)voidsetSpecificationUri(URI 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, doStart, doStop, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, getComponentPropertyConfigurer, getEndpointPropertyConfigurer, getExtension, getSupportedExtensions, ifStartsWithReturnRemainder, isBasicPropertyBinding, isBridgeErrorHandler, isLazyStartProducer, registerExtension, registerExtension, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, setBasicPropertyBinding, setBridgeErrorHandler, setCamelContext, setLazyStartProducer, setProperties, setProperties, setProperties, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURI
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.camel.CamelContextAware
getCamelContext, setCamelContext
-
Methods inherited from interface org.apache.camel.SSLContextParametersAware
retrieveGlobalSslContextParameters
-
-
-
-
Field Detail
-
DEFAULT_BASE_PATH
public static final String DEFAULT_BASE_PATH
- See Also:
- Constant Field Values
-
-
Method Detail
-
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
-
getBasePath
public String getBasePath()
-
getComponentName
public String getComponentName()
-
getConsumes
public String getConsumes()
-
getHost
public String getHost()
-
getProduces
public String getProduces()
-
getSpecificationUri
public URI getSpecificationUri()
-
getSslContextParameters
public org.apache.camel.support.jsse.SSLContextParameters getSslContextParameters()
-
isUseGlobalSslContextParameters
public boolean isUseGlobalSslContextParameters()
- Specified by:
isUseGlobalSslContextParametersin interfaceorg.apache.camel.SSLContextParametersAware
-
setBasePath
public void setBasePath(String basePath)
-
setComponentName
public void setComponentName(String componentName)
-
setConsumes
public void setConsumes(String consumes)
-
setHost
public void setHost(String host)
-
setProduces
public void setProduces(String produces)
-
setSpecificationUri
public void setSpecificationUri(URI specificationUri)
-
setSslContextParameters
public void setSslContextParameters(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters)
-
setUseGlobalSslContextParameters
public void setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters)
- Specified by:
setUseGlobalSslContextParametersin interfaceorg.apache.camel.SSLContextParametersAware
-
-