public final class RestOpenApiComponent
extends org.apache.camel.impl.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.util.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.util.jsse.SSLContextParameters sslContextParameters) |
void |
setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters) |
afterConfiguration, createComponentConfiguration, createConfiguration, createEndpoint, doStart, doStop, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, getExtension, getSupportedExtensions, ifStartsWithReturnRemainder, isResolvePropertyPlaceholders, preProcessUri, registerExtension, registerExtension, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, setCamelContext, setProperties, setProperties, setResolvePropertyPlaceholders, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURI
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public 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.impl.DefaultComponent
Exception
public String getBasePath()
public String getComponentName()
public String getConsumes()
public String getHost()
public String getProduces()
public URI getSpecificationUri()
public org.apache.camel.util.jsse.SSLContextParameters getSslContextParameters()
public boolean isUseGlobalSslContextParameters()
isUseGlobalSslContextParameters
in interface org.apache.camel.SSLContextParametersAware
public 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.util.jsse.SSLContextParameters sslContextParameters)
public void setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters)
setUseGlobalSslContextParameters
in interface org.apache.camel.SSLContextParametersAware
Apache Camel