我想用Apache Camel调用REST API。
当我从Postman执行此操作时,我使用以下内容:
Method: Post
Headers:
Content-Type: application/x-www-form-urlencoded
Body
Check x-www-form-urlencoded option
3 Key value parameters added
Username: ABC
Password: ABC
Country: UK
设置此配置后,我可以使用我的REST API,并使用XML进行响应。
但我真的不知道如何在Camel上写这个。
答案 0 :(得分:2)
Documentation提供了一个示例:
from("direct:start").
setHeader(Exchange.HTTP_METHOD, constant("POST")).
setHeader(Exchange.CONTENT_TYPE, constant("application/x-www-form-urlencoded")).
to("http://www.google.com");
我假设你也可以在那里使用setBody
方法;)。
答案 1 :(得分:1)
只需添加@ marcin-pietraszek精确答案并根据您的上一条评论:
如何在代码中添加Body(用户名:ABC,密码:ABC,国家:英国)参数
取决于服务的界面。如果是查询参数,您可以使用:
from("direct:start").
setHeader(Exchange.HTTP_METHOD, constant("POST")).
setHeader(Exchange.CONTENT_TYPE, constant("application/x-www-form-urlencoded")).
setHeader(Exchange.HTTP_QUERY, constant("Username=ABC&Password=ABC&Country=UK"))
to("http://www.google.com");
如果它直接在体内,你可以使用:
from("direct:start").
setHeader(Exchange.HTTP_METHOD, constant("POST")).
setHeader(Exchange.CONTENT_TYPE, constant("application/x-www-form-urlencoded")).
setBody(constant("Username: ABC, Password: ABC, Country: UK"))
to("http://www.google.com");
提醒您应该查看您要发布的服务如何接收正文(JSON,XML,CSV等)。