Class RestEndpoint

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultEndpoint
org.apache.camel.component.rest.RestEndpoint
All Implemented Interfaces:
AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.ComponentAware, org.apache.camel.Endpoint, org.apache.camel.IsSingleton, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasCamelContext, 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) @Metadata(annotations="protocol=http") public class RestEndpoint extends org.apache.camel.support.DefaultEndpoint
Expose REST services or call external REST services.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String[]
     
    static final String[]
     
    static final String
     

    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
  • Constructor Summary

    Constructors
    Constructor
    Description
    RestEndpoint(String endpointUri, RestComponent component)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    org.apache.camel.Consumer
    createConsumer(org.apache.camel.Processor processor)
     
    org.apache.camel.Producer
     
     
    org.apache.camel.spi.RestConfiguration.RestBindingMode
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    boolean
     
    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
    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
    Additional parameters to configure the consumer of the REST transport for this REST service
    void
    The base path, can use * as path suffix to support wildcard HTTP route matching.
    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, 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, doStart, doStop, 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, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.camel.ComponentAware

    getComponent

    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 Details

    • DEFAULT_REST_CONSUMER_COMPONENTS

      public static final String[] DEFAULT_REST_CONSUMER_COMPONENTS
    • DEFAULT_REST_PRODUCER_COMPONENTS

      public static final String[] DEFAULT_REST_PRODUCER_COMPONENTS
    • DEFAULT_API_COMPONENT_NAME

      public static final String DEFAULT_API_COMPONENT_NAME
      See Also:
    • RESOURCE_PATH

      public static final String RESOURCE_PATH
      See Also:
  • Constructor Details

  • Method Details

    • 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()
      Specified by:
      getComponent in interface org.apache.camel.ComponentAware
      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, can use * as path suffix to support wildcard HTTP route matching.
    • 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
    • getParameters

      public Map<String,Object> getParameters()
    • 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=123invalid input: '&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