【问题标题】:Mule parsing Incoming REST requestMule 解析传入的 REST 请求
【发布时间】:2013-09-11 08:41:10
【问题描述】:

我有一个 REST 客户端,它正在准备 JSON 格式的有效负载并调用 REST 服务。我的工作是在 Mule 中创建 REST 服务。我需要一些关于如何将传入的 Payload 映射到 java 对象的信息,以便我可以调用 REST 服务组件类并获取 JSON 对象中传递的值。 HTTP 入站端点之后的负载是否已经包含客户端发送的 JSON 值?在这种情况下,简单的 JSON 到对象映射器会将其映射为 Hashmap?

【问题讨论】:

    标签: mule


    【解决方案1】:

    如果您有特殊用例,您很可能需要为此用例创建自定义转换器。

    见:http://www.mulesoft.org/documentation/display/current/Creating+Custom+Transformer+Class

    如果您收到 JSON,您可以将其转换为自定义类,如下所示:

    <json:json-to-object-transformer name="jsonToFruitCollection" returnClass="
    org.mule.module.json.transformers.FruitCollection"/>
    

    【讨论】:

    • 我能够获取 JSONData(以字符串形式) - 是否有一种简单的方法可以将其转换为可以使用 mule 表达式的对象(数组列表或哈希映射)?我看到的一种选择是使用 Google GSON 并将其转换为对象。想知道是否有更简单的方法
    • 您需要指定该转换器的类型,请参阅docs.spring.io/spring-integration/api/org/springframework/…
    【解决方案2】:

    另外,您也可以使用 ObjectMapper,并且可能使用 bean 将您的 JSON 直接映射到 Java 类中的 Java 对象。

    您也可以在 Http 入站端点之后直接使用&lt;json:json-to-object-transformer/&gt;,解析并获取 Mule 流中的每个元素值并存储在变量中。然后可以将这些变量传递到您的 Java 类中,您可以轻松地将它们映射到您的 Java 对象。

    这两种方法都可以正常工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-21
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多