Mule Anypoint Studio 进入 JSON 并在 Java 工作
Mule Anypoint Studio Passing in JSON and working in Java
我对 Anypoint 不是很熟悉,我们可能只会使用这个程序一次,我已经查看了网站上的教程,但我觉得我找不到可以演示我们的任务的教程。基本上我们正在尝试读取一个将被发送到软件的 JSON 文件,我们希望从那里使用 JAVA 到 read/alter 将内容转换为所需的 XML 格式。最后,我们发回或重定向 XML 结果。
1:我正在尝试接受来自 HTTP POST 的 JSON 文件,我相信我已经通过使用教程和附加了表示 [= 的元数据的 HTTP 元素完成了这一部分26=] 可能会出现的格式。也使用邮递员发送 json 数据。
2:从这里开始,我开始完全糊涂了。我想知道我需要做什么才能将数据传递到 Java class 对象以读取 JSON 文件并开始使用 Java 代码(getters/setters) 而不是 Anypoint 界面,以便开始设计 xml 布局。
谢谢,
我认为下一步是让您定义一个模型 class(带有 getter/setter),它将代表您的 json 文件内容。由于您已经有了 POST 部分,接下来您要做的是使用 JSON 到注入模型的 Object Transformer。
<json:json-to-object-transformer returnClass="com.alexfrndz.Person" doc:name="JSON to Object"/>
添加转换器后,您可以使用 mule 自定义转换器,
这是自定义转换器。
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"/>
希望对您有所帮助。
我对 Anypoint 不是很熟悉,我们可能只会使用这个程序一次,我已经查看了网站上的教程,但我觉得我找不到可以演示我们的任务的教程。基本上我们正在尝试读取一个将被发送到软件的 JSON 文件,我们希望从那里使用 JAVA 到 read/alter 将内容转换为所需的 XML 格式。最后,我们发回或重定向 XML 结果。
1:我正在尝试接受来自 HTTP POST 的 JSON 文件,我相信我已经通过使用教程和附加了表示 [= 的元数据的 HTTP 元素完成了这一部分26=] 可能会出现的格式。也使用邮递员发送 json 数据。
2:从这里开始,我开始完全糊涂了。我想知道我需要做什么才能将数据传递到 Java class 对象以读取 JSON 文件并开始使用 Java 代码(getters/setters) 而不是 Anypoint 界面,以便开始设计 xml 布局。
谢谢,
我认为下一步是让您定义一个模型 class(带有 getter/setter),它将代表您的 json 文件内容。由于您已经有了 POST 部分,接下来您要做的是使用 JSON 到注入模型的 Object Transformer。
<json:json-to-object-transformer returnClass="com.alexfrndz.Person" doc:name="JSON to Object"/>
添加转换器后,您可以使用 mule 自定义转换器, 这是自定义转换器。
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"/>
希望对您有所帮助。