Class RestEndpoint

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Endpoint, org.apache.camel.IsSingleton, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasId, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @UriEndpoint(firstVersion="2.14.0",
                 scheme="rest",
                 title="REST",
                 syntax="rest:method:path:uriTemplate",
                 category={CORE,REST},
                 lenientProperties=true,
                 headersClass=RestConstants.class)
    public class RestEndpoint
    extends org.apache.camel.support.DefaultEndpoint
    Expose REST services or call external REST services.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void configureProperties​(Map<String,​Object> options)  
      org.apache.camel.Consumer createConsumer​(org.apache.camel.Processor processor)  
      org.apache.camel.Producer createProducer()  
      String getApiDoc()  
      org.apache.camel.spi.RestConfiguration.RestBindingMode getBindingMode()  
      RestComponent getComponent()  
      String getConsumerComponentName()  
      String getConsumes()  
      String getDescription()  
      String getHost()  
      String getInType()  
      String getMethod()  
      String getOutType()  
      Map<String,​Object> getParameters()  
      String getPath()  
      String getProducerComponentName()  
      String getProduces()  
      String getQueryParameters()  
      String getRouteId()  
      String getUriTemplate()  
      boolean isLenientProperties()  
      void setApiDoc​(String apiDoc)
      The openapi api doc resource to use.
      void setBindingMode​(String bindingMode)  
      void setBindingMode​(org.apache.camel.spi.RestConfiguration.RestBindingMode bindingMode)
      Configures the binding mode for the producer.
      void setConsumerComponentName​(String consumerComponentName)
      The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow.
      void setConsumes​(String consumes)
      Media type such as: 'text/xml', or 'application/json' this REST service accepts.
      void setDescription​(String description)
      Human description to document this REST service
      void setHost​(String host)
      Host and port of HTTP service to use (override host in openapi schema)
      void setInType​(String inType)
      To declare the incoming POJO binding type as a FQN class name
      void setMethod​(String method)
      HTTP method to use.
      void setOutType​(String outType)
      To declare the outgoing POJO binding type as a FQN class name
      void setParameters​(Map<String,​Object> parameters)
      Additional parameters to configure the consumer of the REST transport for this REST service
      void setPath​(String path)
      The base path
      void setProducerComponentName​(String producerComponentName)
      The Camel Rest component to use for the producer REST transport, such as http, undertow.
      void setProduces​(String produces)
      Media type such as: 'text/xml', or 'application/json' this REST service returns.
      void setQueryParameters​(String queryParameters)
      Query parameters for the HTTP service to call.
      void setRouteId​(String routeId)
      Name of the route this REST services creates
      void setUriTemplate​(String uriTemplate)
      The uri template
      • Methods inherited from class org.apache.camel.support.DefaultEndpoint

        configureConsumer, configureExchange, configurePollingConsumer, createAsyncProducer, createEndpointUri, createExchange, createExchange, createPollingConsumer, doInit, doStart, doStop, equals, getCamelContext, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, 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.Endpoint

        getEndpointBaseUri, isSingletonProducer
      • 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.StatefulService

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

        isSuspended, resume, suspend
    • Field Detail

      • DEFAULT_REST_CONSUMER_COMPONENTS

        public static final String[] DEFAULT_REST_CONSUMER_COMPONENTS
      • DEFAULT_REST_PRODUCER_COMPONENTS

        public static final String[] DEFAULT_REST_PRODUCER_COMPONENTS
    • Method Detail

      • configureProperties

        public void configureProperties​(Map<String,​Object> options)
        Specified by:
        configureProperties in interface org.apache.camel.Endpoint
        Overrides:
        configureProperties in class org.apache.camel.support.DefaultEndpoint
      • getComponent

        public RestComponent getComponent()
        Overrides:
        getComponent in class org.apache.camel.support.DefaultEndpoint
      • getMethod

        public String getMethod()
      • setMethod

        public void setMethod​(String method)
        HTTP method to use.
      • getPath

        public String getPath()
      • setPath

        public void setPath​(String path)
        The base path
      • getUriTemplate

        public String getUriTemplate()
      • setUriTemplate

        public void setUriTemplate​(String uriTemplate)
        The uri template
      • getConsumes

        public String getConsumes()
      • setConsumes

        public void setConsumes​(String consumes)
        Media type such as: 'text/xml', or 'application/json' this REST service accepts. By default we accept all kinds of types.
      • getProduces

        public String getProduces()
      • setProduces

        public void setProduces​(String produces)
        Media type such as: 'text/xml', or 'application/json' this REST service returns.
      • getProducerComponentName

        public String getProducerComponentName()
      • setProducerComponentName

        public void setProducerComponentName​(String producerComponentName)
        The Camel Rest component to use for the producer REST transport, such as http, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used.
      • getConsumerComponentName

        public String getConsumerComponentName()
      • setConsumerComponentName

        public void setConsumerComponentName​(String consumerComponentName)
        The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.
      • getInType

        public String getInType()
      • setInType

        public void setInType​(String inType)
        To declare the incoming POJO binding type as a FQN class name
      • getOutType

        public String getOutType()
      • setOutType

        public void setOutType​(String outType)
        To declare the outgoing POJO binding type as a FQN class name
      • getRouteId

        public String getRouteId()
      • setRouteId

        public void setRouteId​(String routeId)
        Name of the route this REST services creates
      • getDescription

        public String getDescription()
      • setDescription

        public void setDescription​(String description)
        Human description to document this REST service
      • setParameters

        public void setParameters​(Map<String,​Object> parameters)
        Additional parameters to configure the consumer of the REST transport for this REST service
      • getApiDoc

        public String getApiDoc()
      • setApiDoc

        public void setApiDoc​(String apiDoc)
        The openapi api doc resource to use. The resource is loaded from classpath by default and must be in JSON format.
      • getHost

        public String getHost()
      • setHost

        public void setHost​(String host)
        Host and port of HTTP service to use (override host in openapi schema)
      • getQueryParameters

        public String getQueryParameters()
      • setQueryParameters

        public void setQueryParameters​(String queryParameters)
        Query parameters for the HTTP service to call. The query parameters can contain multiple parameters separated by ampersand such such as foo=123&bar=456.
      • getBindingMode

        public org.apache.camel.spi.RestConfiguration.RestBindingMode getBindingMode()
      • setBindingMode

        public void setBindingMode​(org.apache.camel.spi.RestConfiguration.RestBindingMode bindingMode)
        Configures the binding mode for the producer. If set to anything other than 'off' the producer will try to convert the body of the incoming message from inType to the json or xml, and the response from json or xml to outType.
      • setBindingMode

        public void setBindingMode​(String bindingMode)
      • createProducer

        public org.apache.camel.Producer createProducer()
                                                 throws Exception
        Throws:
        Exception
      • createConsumer

        public org.apache.camel.Consumer createConsumer​(org.apache.camel.Processor processor)
                                                 throws Exception
        Throws:
        Exception
      • isLenientProperties

        public boolean isLenientProperties()
        Specified by:
        isLenientProperties in interface org.apache.camel.Endpoint
        Overrides:
        isLenientProperties in class org.apache.camel.support.DefaultEndpoint