我能够使用Apache Camel发送GET请求到REST服务,现在我试图使用Apache Camel发送带有JSON正文的POST请求。我无法弄清楚如何添加JSON主体并发送请求。我如何添加JSON主体,发送请求并获取响应代码?使用Apache Camel发送POST请求
1
A
回答
0
这是你如何做到这一点:
from("direct:start")
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.to("http://www.google.com");
目前骆驼交易所的身体会得到张贴到URL终点。
1
下面你可以找到一个路由示例,它使用POST方法向服务器发送(每2秒钟)json, ,例如它是localhost:8080/greeting。还有一种方式来获得的响应呈现:
from("timer://test?period=2000")
.process(exchange -> exchange.getIn().setBody("{\"title\": \"The title\", \"content\": \"The content\"}"))
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
.to("http://localhost:8080/greeting")
.process(exchange -> log.info("The response code is: {}", exchange.getIn().getHeader(Exchange.HTTP_RESPONSE_CODE)));
通常它是不是手工编写JSON是一个好主意。您可以使用例如
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-gson</artifactId>
</dependency>
为您执行编组。假设你有一个问候语类中定义的,可以通过删除所述第一处理器和使用下面的代码,而不是修改路线:
.process(exchange -> exchange.getIn().setBody(new Greeting("The title2", "The content2")))
.marshal().json(JsonLibrary.Gson)
进一步阅读:http://camel.apache.org/http.html 值得一提的是,也有http4组分(它们使用不同的引擎盖下的Apache HttpClient版本)。
相关问题
- 1. 使用Camel发出POST请求
- 2. Apache Camel:如何通过智能方式使用HTTP POST请求获取发送给Camel Servlet的参数?
- 3. 发送POST请求
- 4. JAVA发送POST http请求
- 5. 发送POST请求
- 6. 发送POST请求
- 7. 发送POST请求
- 8. UWP发送POST请求
- 9. 用netcat发送POST请求
- 10. 如何使用nsurlconnection发送post请求
- 11. 如何使用django发送POST请求?
- 12. 使用Fiddler向WebApi发送POST请求
- 13. 使用alamofire发送POST请求
- 14. 发送HTTP POST请求使用PHP
- 15. 使用python发送POST请求
- 16. 使用NSURLConnection发送POST请求
- 17. 使用Node.js发送POST请求
- 18. 使用Alamofire发送POST请求到API
- 19. 使用VB.Net发送Post请求
- 20. 使用libcurl发送post请求
- 21. 如何使用Volley发送POST请求
- 22. 如何使用HTTPie发送POST请求?
- 23. 无法使用javascript发送POST请求
- 24. 使用PHP发送POST请求
- 25. 如何发送POST方法使用CAMEL
- 26. 如何发送POST请求?
- 27. Swift2发送POST请求
- 28. PHP Post请求发送
- 29. 发送HTTP POST请求
- 30. 发送POST请求的Android