나는 경로 다음 근래 :Camel - 요청 매개 변수 (throwExceptionOnFailure)를 URL에 추가하는 방법은 무엇입니까?
from("quartz2:findAll//myGroup/myTimerName?cron=" + pushProperties.getQuartz())
//.setBody().constant("{ \"id\": \"FBJDBFJHSDBFJSBDfi\" }")
.to("mongodb:mongoBean?database=" + mongoDataConfiguration.getDatabase()
+ "&operation=findAll&collection=" + mongoDataConfiguration.getDataPointCollection())
.process(exchange -> {
exchange.getIn().setBody(objectMapper.writeValueAsString(exchange.getIn().getBody()));
}).streamCaching()
.setHeader(Exchange.HTTP_METHOD, constant(pushProperties.getHttpMethod()))
.setHeader(Exchange.CONTENT_TYPE, constant(MediaType.APPLICATION_JSON_VALUE))
.to(pushProperties.getUrl() + "&throwExceptionOnFailure=false").streamCaching()
당신은 내가 throwExceptionOnFailure=false
를 사용하고 난이 구성에서 내 URL을 볼 수 있듯이. 그러나 우리는
pushProperties.getUrl()
= localhost:8080/url?action=myaction
하고
pushProperties.getUrl()
= localhost:8080/url
의 경우에는 작동하지 않는 경우가 URL에 요청 매개 변수를 추가하는 낙타의 universla 방법이 작동 발견 ?
무엇인가 :
private String buildUrl() {
String url = pushProperties.getUrl();
return url + (url.contains("?") ? "&" : "?") + "throwExceptionOnFailure=false";
}
낙타 API를 내부
그것은 분명합니다. ** addParamater ("throwExceptionOnFailure", false) **와 같은 메서드를 갖고 싶습니다. ** 낙타 API의 어딘가에있을 수 있다고 생각합니다. 물론 자기 자신을 쓸 수는 있지만, 존재한다면 buit-in을 사용하고 싶습니다. 문서 http://camel.apache.org/servlet에 따라 – gstackoverflow
에 따라, Exchange.HTTP_QUERY라는 키를 가진 헤더로 설정할 수 있습니다 – pvpkiran
Exchange.HTTP_QUERY *를 찾을 수 없습니다. – gstackoverflow