【问题标题】:Mule Anypoint Studio Passing in JSON and working in JavaMule Anypoint Studio 传入 JSON 并使用 Java
【发布时间】:2016-07-29 20:16:42
【问题描述】:

我对 Anypoint 不太熟悉,我们可能只会使用这个程序一次,我查看了网站上的教程,但我觉得我找不到演示我们所拥有任务的教程。基本上,我们正在尝试读取将发送到软件的 JSON 文件,从那里我们想使用 JAVA 将内容读取/更改为所需的 XML 格式。最后,我们将 XML 结果发回或重定向。

1:我正在尝试接受来自 HTTP POST 的 JSON 文件,我相信我已经通过使用教程和附有表示可能出现的 JSON 格式的元数据的 HTTP 元素完成了这一部分。也可以使用 postman 发送 json 数据。

2:从这里我开始完全糊涂了。我想知道我需要做什么才能将数据传递到 Java 类对象以读取 JSON 文件并开始使用 Java 代码(getters/setters)而不是 Anypoint 接口以开始设计 xml 布局。

谢谢,

【问题讨论】:

    标签: java json xml anypoint-studio


    【解决方案1】:

    我认为下一步是为您定义一个模型类(带有 getter/setter),它将代表您的 json 文件内容。由于您已经有了 POST 部分,接下来您要做的就是使用 JSON 到模型被注入的对象转换器。

    <json:json-to-object-transformer returnClass="com.alexfrndz.Person" doc:name="JSON to Object"/>

    添加变压器后,您可以使用骡子自定义变压器, 这是自定义转换器。

    package com.alexfrndz;
    
    import org.mule.api.MuleMessage;
    import org.mule.api.transformer.TransformerException;
    import org.mule.transformer.AbstractMessageTransformer;
    
    public class PersonTransformer extends AbstractMessageTransformer {
    
       @Override
       public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
           Person person = (Person) message.getPayload();
           //Do your transformation hear
        return null;
        }
    
    }
    

    这是你如何实现它,

     <custom-transformer class="com.alexfrndz.PersonTransformer" doc:name="PersonTransformer"/>
    

    希望这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 2015-03-06
      • 2015-08-29
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多