本文整理了Java中org.apache.camel.model.rest.RestDefinition.route
方法的一些代码示例,展示了RestDefinition.route
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RestDefinition.route
方法的具体详情如下:
包路径:org.apache.camel.model.rest.RestDefinition
类名称:RestDefinition
方法名:route
暂无
代码示例来源:origin: com.github.zed-platform/zed-camel
public void exposeAnnotatedBeans() {
for (Map.Entry<String, Object> bean : findBeansWithRestOperations(routeBuilder.getContext().getRegistry()).entrySet()) {
for (Method method : findRestOperations(bean.getValue().getClass())) {
String uri = "/" + bean.getKey() + "/" + method.getName();
boolean isGet = true;
int parametersCount = method.getParameterCount();
if (parametersCount > 0) {
Class<?> lastParameterType = method.getParameterTypes()[parametersCount - 1];
if (lastParameterType != String.class &&
lastParameterType != Character.class && lastParameterType != char.class &&
lastParameterType != Integer.class && lastParameterType != int.class &&
lastParameterType != Long.class && lastParameterType != long.class &&
lastParameterType != Float.class && lastParameterType != float.class &&
lastParameterType != Double.class && lastParameterType != double.class) {
isGet = false;
parametersCount--;
}
}
for (int i = 0; i < parametersCount; i++) {
uri += "/{p" + i + "}";
}
routeBuilder.rest(uri).verb(isGet ? "GET" : "POST").route().process(restParametersBindingProcessor()).
to("bean:" + bean.getKey() + "?method=" + method.getName() + "&multiParameterArray=true").
choice().when(routeBuilder.header("CAMEL_REST_VOID_OPERATION").isNotNull()).setBody().constant("").endChoice();
}
}
}
代码示例来源:origin: org.openksavi.sponge/sponge-rest-api-server
protected <I extends SpongeRequest, O extends SpongeResponse> void createOperation(RestDefinition restDefinition, String operation,
String operationDescription, Class<I> requestClass, String requestDescription, Class<O> responseClass,
String responseDescription, BiFunction<I, Exchange, O> operationHandler) {
restDefinition.post(operation).description(operationDescription).type(requestClass).outType(responseClass).param().name("body")
.type(body).description(requestDescription).endParam().responseMessage().code(200).message(responseDescription)
.endResponseMessage().route().id("sponge-" + operation).process(exchange -> {
String requestBody = exchange.getIn().getBody(String.class);
if (logger.isDebugEnabled()) {
logger.debug("REST API {} request: {}", operation, RestApiUtils.obfuscatePassword(requestBody));
}
try {
setupResponse(operation, exchange,
operationHandler.apply(getObjectMapper().readValue(requestBody, requestClass), exchange));
} catch (Throwable processingException) {
logger.info("REST API error", processingException);
try {
setupResponse(operation, exchange, apiService.createGenericErrorResponse(processingException, exchange));
} catch (Throwable e) {
logger.error("REST API send error response failure", e);
throw e;
}
}
}).endRest();
}
代码示例来源:origin: redhat-developer-demos/istio-tutorial
.route().routeId("root")
.route().routeId("misbehave")
.process(exchange -> {
this.misbehave = true;
.route().routeId("behave")
.process(exchange -> {
this.misbehave = false;
代码示例来源:origin: camelinaction/camelinaction2
@Override
public void configure() throws Exception {
// configure rest-dsl
restConfiguration()
// to use spark-rest component and run on port 9090
.component("spark-rest").port(9090)
// enable api-docs
.apiContextPath("api-doc")
// enable CORS on rest services so they can be called from swagger UI
.enableCORS(true)
// enable CORS in the api-doc as well so the swagger UI can view it
.apiProperty("cors", "true");
// pong rest service
rest("/ping").get().route().transform().constant("{ \"reply\": \"pong\" }");
}
}
代码示例来源:origin: camelinaction/camelinaction2
@Override
public void configure() throws Exception {
// use the restlet component on port 8080 as the REST server
// no need for binding to json/jaxb as the rest services are using plain text
restConfiguration().component("restlet").port(8080);
rest("/rest").consumes("application/text").produces("application/text")
// ping rest service
.get("ping")
.route().routeId("ping")
.transform(constant("PONG\n"))
.endRest()
// controlbus to start/stop the route
.get("route/{action}")
// use dynamic-to so the action is provided from the url
.toD("controlbus:route?routeId=ping&action=${header.action}");
}
代码示例来源:origin: org.openksavi.sponge/sponge-rest-api
.param().name("body").type(body).description("Get Sponge version request").endParam()
.responseMessage().code(200).message("The Sponge version response").endResponseMessage()
.route().id("version")
.setBody(exchange -> apiService.getVersion(exchange.getIn().getBody(RestGetVersionRequest.class), exchange))
.endRest()
.param().name("body").type(body).description("Login request").endParam()
.responseMessage().code(200).message("The login response").endResponseMessage()
.route().id("login")
.setBody(exchange -> apiService.login(exchange.getIn().getBody(RestLoginRequest.class), exchange))
.endRest()
.param().name("body").type(body).description("Logout request").endParam()
.responseMessage().code(200).message("The logout response").endResponseMessage()
.route().id("logout")
.setBody(exchange -> apiService.logout(exchange.getIn().getBody(RestLogoutRequest.class), exchange))
.endRest()
.param().name("body").type(body).description("Get knowledge bases request").endParam()
.responseMessage().code(200).message("The get knowledge bases response").endResponseMessage()
.route().id("knowledgeBases")
.setBody(exchange -> apiService.getKnowledgeBases(exchange.getIn().getBody(RestGetKnowledgeBasesRequest.class), exchange))
.endRest()
.param().name("body").type(body).description("Get actions request").endParam()
.responseMessage().code(200).message("The get actions response").endResponseMessage()
.route().id("actions")
.setBody(exchange -> apiService.getActions(exchange.getIn().getBody(RestGetActionsRequest.class), exchange))
.endRest()
代码示例来源:origin: redhat-developer-demos/istio-tutorial
@Override
public void configure() throws Exception {
restConfiguration()
.component("servlet")
.enableCORS(true)
.contextPath("/")
.bindingMode(RestBindingMode.auto);
rest("/").get().produces("text/plain")
.route().routeId("root")
.to("http4:recommendation:8080/?httpClient.connectTimeout=1000&bridgeEndpoint=true©Headers=true&connectionClose=true")
.routeId("recommendation")
.onException(HttpOperationFailedException.class)
.handled(true)
.process(this::handleHttpFailure)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(503))
.end()
.onException(Exception.class)
.handled(true)
.transform(simpleF(RESPONSE_STRING_FORMAT, exceptionMessage()) )
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(503))
.end()
.transform(simpleF(RESPONSE_STRING_FORMAT, "${body}"))
.endRest();
}
代码示例来源:origin: redhat-developer-demos/istio-tutorial
@Override
public void configure() throws Exception {
restConfiguration()
.component("servlet")
.enableCORS(true)
.contextPath("/")
.bindingMode(RestBindingMode.auto);
rest("/").get().consumes(MediaType.TEXT_PLAIN_VALUE)
.route().routeId("root")
.pipeline()
.bean("CustomerCamelRoute", "addTracer")
.to("http4:preference:8080/?httpClient.connectTimeout=1000&bridgeEndpoint=true©Headers=true&connectionClose=true")
.end()
.convertBodyTo(String.class)
.onException(HttpOperationFailedException.class)
.handled(true)
.process(this::handleHttpFailure)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(503))
.end()
.onException(Exception.class)
.log(exceptionMessage().toString())
.handled(true)
.transform(simpleF(RESPONSE_STRING_FORMAT, exceptionMessage()))
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(503))
.end()
.transform(simpleF(RESPONSE_STRING_FORMAT, "${body}"))
.endRest();
}
内容来源于网络,如有侵权,请联系作者删除!