Java 使用Camel和Spring调用外部restapi
这个问题可能是泛泛的,但它正是标题所说的 我有一个使用HTTPS的外部API,我需要在Camel路由中调用它以获得一些JSON响应,但是,我似乎找不到一个好方法来实现这一点 我尝试了Camel的组件“restlet”来调用API,但没有成功。我尝试使用CXFRS,它需要设置一个bean,就我所知,这反过来又需要一个“serviceClass”。显然,由于API是第三方外部服务,因此无法提供这种服务 是否有人有任何想法或指导,他们可以告诉我仅仅调用一个返回JSON响应的外部RESTAPIJava 使用Camel和Spring调用外部restapi,java,spring,rest,cxfrs,Java,Spring,Rest,Cxfrs,这个问题可能是泛泛的,但它正是标题所说的 我有一个使用HTTPS的外部API,我需要在Camel路由中调用它以获得一些JSON响应,但是,我似乎找不到一个好方法来实现这一点 我尝试了Camel的组件“restlet”来调用API,但没有成功。我尝试使用CXFRS,它需要设置一个bean,就我所知,这反过来又需要一个“serviceClass”。显然,由于API是第三方外部服务,因此无法提供这种服务 是否有人有任何想法或指导,他们可以告诉我仅仅调用一个返回JSON响应的外部RESTAPI 非常感谢
非常感谢。好吧,原来我完全糊涂了
@Component
公共类WeatherRestrate扩展了RouteBuilder{
@Override
public void configure() throws Exception {
from("timer:aTimer?fixedRate=true&period=10s")
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to("ahc:https://restcountries.p.mashape.com/callingcode/90")
.routeId("TEST")
.log("${body}");
}
根据我的问题和麻烦,这是工作路径,我在中有RESTAPI URL。在Camelland中,这意味着我希望将其作为REST端点公开,而不是调用它
当我阅读下面链接的邮件列表时,我终于明白了我的意思
另外,谢谢@6ton我之前已经尝试过该页面上的解决方案。使用带计时器组件的spring DSL
<?xml version="1.0" encoding="UTF-8"?>
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<route id="fetchdata">
<from uri="timer:somename?period=24h"/>
<toD uri="https://some/api/xxx?httpMethod=GET"/>
<to uri="file://abcd?fileName=${exchangeId}&fileExist=Append"/>
</route>
</routes>
在上面,我们将其存储在文件中,如果需要,可以将其发送到其他路由或队列
<to uri="activemq:queuename?jmsMessageType=Text&exchangePattern=InOnly"/>
您是否尝试过此处建议的解决方案:是的,我尝试过这些解决方案,但我逐渐意识到我犯了一个错误。