我能够使用Apache Camel将GET请求发送到REST服务,现在我正尝试使用Apache Camel发送具有JSON正文的POST请求。我无法弄清楚如何添加JSON正文和发送请求。如何添加JSON正文,发送请求并获取响应代码?
你好~我正在使用camel http组件。我无法提取正文信息。
\n\n这是我的代码
\n\n.log(LoggingLevel.INFO, "ToUri ===> ${body}")\n.toD("${body}")\n.log(LoggingLevel.INFO, "Result ===> ${body}")\n.process(new Processor() {\n\n\n public void process(Exchange exchange) throws Exception {\n\n long startTime = System.currentTimeMillis();\n Message inboundMessage = exchange.getIn();\n\n\n Object body = exchange.getIn().getBody();\n String msg = inboundMessage.getBody(String.class);\n\n System.out.println("body:"+body);\n System.out.println("getInBody msg:"+msg);\n System.out.println("getInBody body:"+body.toString());\n ======================================================================= \nbody : org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream@28936ba4\ngetInBody msg:\ngetInBody bodybodybody:org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream@28936ba4\nRun Code Online (Sandbox Code Playgroud)\n\n日志是好作品。像这样
\n\n09:56:53.523 INFO route1 - ToUri ===> https://translation.googleapis.com/language/translate/v2?key=tesetKey&source=en&target=ja&q=hi\n09:56:54.545 INFO route1 - Result ===> {\n "data": {\n "translations": [\n {\n "translatedText": "\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf"\n }\n ]\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我想使用骆驼提取翻译文本。
\n\n我如何处理 CachedOutputStream 这是什么? …
需要检查下面的 JSON 对象是否存在密钥。如果键存在且值为空,那么我想将其设置TH为默认语言。
在骆驼路线中如何做到这一点?
{ "languagePreference":"" }
Run Code Online (Sandbox Code Playgroud)
//set default value of language preference as TH
.setHeader("languagePreference").jsonpath("$.languagePreference")
Run Code Online (Sandbox Code Playgroud) 嗨,我是骆驼的新手。我正在从骆驼路线执行https4呼叫。我想获取响应的状态码。我从哪里可以得到?