繁体   English   中英

如何在Apache驼峰中使用POST调用REST?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM