Package org.apache.camel.component.rest
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
Modifier and TypeFieldDescriptionstatic 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
configureProperties
(Map<String, Object> options) org.apache.camel.Consumer
createConsumer
(org.apache.camel.Processor processor) org.apache.camel.Producer
org.apache.camel.spi.RestConfiguration.RestBindingMode
getHost()
getPath()
boolean
void
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 servicevoid
Host and port of HTTP service to use (override host in openapi schema)void
To declare the incoming POJO binding type as a FQN class namevoid
HTTP method to use.void
setOutType
(String outType) To declare the outgoing POJO binding type as a FQN class namevoid
setParameters
(Map<String, Object> parameters) Additional parameters to configure the consumer of the REST transport for this REST servicevoid
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 createsvoid
setUriTemplate
(String uriTemplate) The uri templateMethods 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
-
DEFAULT_REST_PRODUCER_COMPONENTS
-
DEFAULT_API_COMPONENT_NAME
- See Also:
-
RESOURCE_PATH
- See Also:
-
-
Constructor Details
-
RestEndpoint
-
-
Method Details
-
configureProperties
- Specified by:
configureProperties
in interfaceorg.apache.camel.Endpoint
- Overrides:
configureProperties
in classorg.apache.camel.support.DefaultEndpoint
-
getComponent
- Specified by:
getComponent
in interfaceorg.apache.camel.ComponentAware
- Overrides:
getComponent
in classorg.apache.camel.support.DefaultEndpoint
-
getMethod
-
setMethod
HTTP method to use. -
getPath
-
setPath
The base path, can use * as path suffix to support wildcard HTTP route matching. -
getUriTemplate
-
setUriTemplate
The uri template -
getConsumes
-
setConsumes
Media type such as: 'text/xml', or 'application/json' this REST service accepts. By default we accept all kinds of types. -
getProduces
-
setProduces
Media type such as: 'text/xml', or 'application/json' this REST service returns. -
getProducerComponentName
-
setProducerComponentName
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
-
setConsumerComponentName
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
-
setInType
To declare the incoming POJO binding type as a FQN class name -
getOutType
-
setOutType
To declare the outgoing POJO binding type as a FQN class name -
getRouteId
-
setRouteId
Name of the route this REST services creates -
getDescription
-
setDescription
Human description to document this REST service -
getParameters
-
setParameters
Additional parameters to configure the consumer of the REST transport for this REST service -
getApiDoc
-
setApiDoc
The openapi api doc resource to use. The resource is loaded from classpath by default and must be in JSON format. -
getHost
-
setHost
Host and port of HTTP service to use (override host in openapi schema) -
getQueryParameters
-
setQueryParameters
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
-
createProducer
- 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 interfaceorg.apache.camel.Endpoint
- Overrides:
isLenientProperties
in classorg.apache.camel.support.DefaultEndpoint
-