[英]How to call REST with POST in Apache camel?
我想用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上写这个。
文档提供了一个示例:
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
方法;)。
只是添加到@ 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等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.