@Component(value="rest-openapi")
public final class RestOpenApiComponent
extends org.apache.camel.support.DefaultComponent
implements org.apache.camel.SSLContextParametersAware
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")
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_BASE_PATH |
| Constructor and Description |
|---|
RestOpenApiComponent() |
RestOpenApiComponent(org.apache.camel.CamelContext context) |
| Modifier and Type | Method and Description |
|---|---|
protected org.apache.camel.Endpoint |
createEndpoint(String uri,
String remaining,
Map<String,Object> parameters) |
String |
getBasePath() |
String |
getComponentName() |
String |
getConsumes() |
String |
getHost() |
String |
getProduces() |
URI |
getSpecificationUri() |
org.apache.camel.support.jsse.SSLContextParameters |
getSslContextParameters() |
boolean |
isUseGlobalSslContextParameters() |
void |
setBasePath(String basePath) |
void |
setComponentName(String componentName) |
void |
setConsumes(String consumes) |
void |
setHost(String host) |
void |
setProduces(String produces) |
void |
setSpecificationUri(URI specificationUri) |
void |
setSslContextParameters(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters) |
void |
setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters) |
afterConfiguration, createEndpoint, createEndpoint, doBuild, doInit, doStart, doStop, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, getComponentPropertyConfigurer, getEndpointPropertyConfigurer, getExtension, getSupportedExtensions, ifStartsWithReturnRemainder, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, registerExtension, registerExtension, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, resolveRawParameterValues, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setLazyStartProducer, setProperties, setProperties, setProperties, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURIbuild, doFail, 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, suspendclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitretrieveGlobalSslContextParametersgetCamelContext, setCamelContext, trySetCamelContextpublic static final String DEFAULT_BASE_PATH
public RestOpenApiComponent()
public RestOpenApiComponent(org.apache.camel.CamelContext context)
protected org.apache.camel.Endpoint createEndpoint(String uri, String remaining, Map<String,Object> parameters) throws Exception
createEndpoint in class org.apache.camel.support.DefaultComponentExceptionpublic String getBasePath()
public String getComponentName()
public String getConsumes()
public String getHost()
public String getProduces()
public URI getSpecificationUri()
public org.apache.camel.support.jsse.SSLContextParameters getSslContextParameters()
public boolean isUseGlobalSslContextParameters()
isUseGlobalSslContextParameters in interface org.apache.camel.SSLContextParametersAwarepublic void setBasePath(String basePath)
public void setComponentName(String componentName)
public void setConsumes(String consumes)
public void setHost(String host)
public void setProduces(String produces)
public void setSpecificationUri(URI specificationUri)
public void setSslContextParameters(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters)
public void setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters)
setUseGlobalSslContextParameters in interface org.apache.camel.SSLContextParametersAwareApache Camel