【发布时间】:2015-06-28 23:51:02
【问题描述】:
我正在使用 DevKit 创建 Mule Anypoint 连接器以连接到内部开发的 API。使用 @RestCall 注释,我能够在 Mule 流中成功使用我的连接器,连接器返回以下 JSON 的字符串:
{
"name": "Bryan",
"email": "bryan@myservice.com",
"uid": "b6fr89dbf6d9156cace5f3c78dc9851d957381ef",
"email_verified": true
}
我知道我可以在 Mule 流程中实现“JSON 到对象”转换器,但我希望连接器返回一个 POJO。话虽如此,我修改了 @RestCall 注释的抽象方法以返回一个 Account 对象:
@Processor
@RestCall(
uri="https://api.myservice.com/v2/account",
method=HttpMethod.GET,
contentType = "application/json")
public abstract Account getUserInformation() throws IOException;
仅供参考,以下是我定义帐户的方式:
package org.mule.modules.myservice.model;
import java.io.Serializable;
public class Account implements Serializable {
private static final long serialVersionUID = -1L;
private String name;
private String email;
private String uid;
private boolean emailVerified;
/**
* removed getters and setters for brevity
*/
}
但是,现在我尝试返回 Account 对象,我收到以下错误:
org.mule.api.transformer.TransformerException:找不到将“SimpleDataType{type=java.lang.String, mimeType='/'}”转换为“SimpleDataType{type”的转换器=org.mule.modules.myservice.model.Account, mimeType='/'}"。
我看到有一个 @Transformer 注释,但缺少关于如何在 Mule 连接器中使用 JSON 和/或在 @RestCall 上下文中工作的文档。
谁能提供关于如何将 JSON 字符串转换为连接器内的 Account 对象的建议?
【问题讨论】:
标签: mule mule-studio