1

我坚持使用骆驼文档,因为它不是很清楚......

我想在 Spring 中定义这条路线:

in: direct access from a url
out: get an object instance from a factory
--> format this object in Json

我已经尝试过这样的编组器:

<camel:route id="viewObject">
  <camel:from uri="restlet:/json/" />

  <camel:to uri="bean:myFactory" />
  <camel:unmarshal ref="jack" />
</camel:route>

但它不起作用,因为解组在输入之后和输出之前工作,这是意料之中的,所以我尝试将输出重新路由到另一个端点。

<camel:route id="formatObject">
  <camel:from uri="bean:myFactory" />
  <camel:unmarshal ref="jack" />
  <camel:to uri="mock:reverse" />
</camel:route>

基本上我想要我的对象:

public class MyObject{
  private String name;
  [ getter & setter here]
 }

以这种方式解组:

 {name : 'a value'}

这仅适用于编组器和骆驼配置。请帮助,也欢迎清晰的解释和howtos

4

1 回答 1

4

本质上,只需在骆驼上下文中创建这样的 xml。

<dataFormats>
  <json id="jack" library="Jackson" unmarshalTypeName="com.example.MyObject"/>
</dataFormats>

<route>
        <from uri="restlet:/json/"/>
        <to uri="bean:myFactory"/>
        <marshal ref="jack"/>
</route>

您似乎混淆了 marshall/unmarshall 词

Unmarshall = 从 json -> bean 马歇尔 = 从 bean -> json。

于 2012-08-06T11:42:52.040 回答