Class RestSwaggerComponent
- 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.swagger.RestSwaggerComponent
-
- 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-swagger") public final class RestSwaggerComponent extends org.apache.camel.support.DefaultComponent implements org.apache.camel.SSLContextParametersAware
An awesome REST component backed by Swagger specifications. Creates endpoints that connect to REST APIs defined by Swagger specification. This component delegates to otherRestProducerFactory
components to act as REST clients, but it configures them from Swagger 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-swagger:http://petstore.swagger.io/v2/swagger.json#getPetById")
This relies on only oneRestProducerFactory
component being available to Camel, you can use specific, for instance preconfigured component by using thecomponentName
endpoint property. For example using Undertow component in Java DSL:Component undertow = new UndertowComponent(); undertow.setSslContextParameters(...); //... camelContext.addComponent("myUndertow", undertow); from(...).to("rest-swagger:http://petstore.swagger.io/v2/swagger.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 RestSwaggerComponent(); petstore.setSpecificationUri("http://petstore.swagger.io/v2/swagger.json"); petstore.setComponentName("undertow"); //... camelContext.addComponent("petstore", petstore); from(...).to("petstore:getPetById")
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_BASE_PATH
-
Constructor Summary
Constructors Constructor Description RestSwaggerComponent()
RestSwaggerComponent(org.apache.camel.CamelContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
Methods inherited from class org.apache.camel.support.DefaultComponent
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, validateURI
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, 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, 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:
createEndpoint
in 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:
isUseGlobalSslContextParameters
in 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:
setUseGlobalSslContextParameters
in interfaceorg.apache.camel.SSLContextParametersAware
-
-