【问题标题】:converting json to other format in apache camel在 apache camel 中将 json 转换为其他格式
【发布时间】:2021-05-02 07:52:11
【问题描述】:

我是 apache 骆驼的新手。我能够从骆驼发送一个获取休息 api 的请求。我用过spring boot camel微服务,现在如何将输出格式转换成其他格式并显示出来?

import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;

@Component
public class RestAPIClientRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        restConfiguration().host("https://jsonplaceholder.typicode.com").port(80);
        from("timer:foo?repeatCount=1").
        to("rest:get:/posts/1")
            .log("${body}");
    }
}

结果如下所示:

"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et 
cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet 
architecto"

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    rest组件首先返回经典的java输入流,你必须将输入流转换为dto,然后你可以转换任何类型,在这个例子中是xml

       restConfiguration().host("https://jsonplaceholder.typicode.com").port(80);
    from("timer:foo?repeatCount=1").
    to("rest:get:/posts/1")
        .unmarshal(new JacksonDataFormat(YourDto.class))
        .unmarshal().jacksonxml().log("${body}")
    
    
    public class YourDto{
    public int userId;
    public int id;
    public String title;
    public String body;}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多