jam*_*mes 4 apache-camel camel-http
你好~我正在使用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 这是什么?
\n\n我搜索camel doc。但无法理解。请给我一个提示来解决我的问题。
\n\n谢谢。
\n有关以下信息,请参阅流缓存CachedOutputStream:http://camel.apache.org/stream-caching.html
要从处理器获取字符串形式的消息正文,您只需执行以下操作
String body = exchange.getIn().getBody(String.class);
Run Code Online (Sandbox Code Playgroud)
这将告诉 Camel 您希望将消息作为 aString并且它会自动将消息正文从 隐藏CachedOutputStream为String。然后您可以通过常规 Java 代码获取您想要的文本。
另请注意,您可以使用 jsonpath 来处理 json 数据并获取信息,但其语法可能需要一点时间来学习:http://camel.apache.org/jsonpath
| 归档时间: |
|
| 查看次数: |
6875 次 |
| 最近记录: |