Class 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 other RestProducerFactory 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 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-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  
      • Fields 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
    • 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 interface org.apache.camel.CamelContextAware

        getCamelContext, setCamelContext
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.SSLContextParametersAware

        retrieveGlobalSslContextParameters
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        isSuspended, resume, suspend
    • Constructor Detail

      • RestSwaggerComponent

        public RestSwaggerComponent()
      • RestSwaggerComponent

        public RestSwaggerComponent​(org.apache.camel.CamelContext context)
    • Method Detail

      • createEndpoint

        protected org.apache.camel.Endpoint createEndpoint​(String uri,
                                                           String remaining,
                                                           Map<String,​Object> parameters)
                                                    throws Exception
        Specified by:
        createEndpoint in class org.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 interface org.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 interface org.apache.camel.SSLContextParametersAware