我需要创建一条路线(或者不仅仅是一条路线)来执行以下操作:
/n
标记为)http://myexample.com/something/**id**
)所以,我需要一个JSON文件,用于我的file.txt中的每个id。如果我有10个ID,我将从该URL获取10个JSON文件。我创建了从文件夹中获取JSON并将其解组为XML的组件。另外,我将我的file.txt
标记为了。
问题是我不知道如何为每个id获取JSON文件,更确切地说,我如何动态转换我的网址?
我的代码是:
<camel:route id="getRequestForEachId">
<camel:from uri="file:src/main/resources/idList?noop=true" />
<camel:split>
<camel:tokenize token="\n" />
<camel:to uri="stream:out" />
<camel:recipientList>
<camel:simple>
http://myexample.com/something/${body}
</camel:simple>
</camel:recipientList>
<camel:to uri="file:src/main/resources/jsonMandatFromReq" />
<!--from this will take my json->xml component-->
</camel:split>
</camel:route>
使用此代码我收到405错误:
HTTP operation failed invoking http://google.com/something/3 with statusCode: 405
3
来自带有ID的file.txt
。所以url是以某种方式构建的,但我以例外结束。
我会喜欢具体的帮助,而不是骆驼网站上动态网址的网址。非常感谢你!
LE
以下答案解决了我的主要问题,但我现在又有了另一个问题。 GET方法不会停止发出请求。
我希望每个id只有一个请求,为此,我会根据每个请求或ID获取一个JSON文件。 但我的路线是不断提出要求。带有ID的列表结束后,它会再次开始。所以当我每个id只需要一个JSON文件时,我会为一个id结束许多JSON文件。
我不想覆盖现有的JSON文件。我希望每个id只有一个GET请求。 我该如何解决这个问题?