"Could not find a transformer" 使用自定义连接器时出现 Mule Anypoint Studio 错误

"Could not find a transformer" Mule Anypoint Studio error when using a custom built Connector

我正在使用 DevKit 创建一个 Mule Anypoint 连接器以连接到内部开发的 API。使用 @RestCall 注释,我能够在 Mule 流中成功使用我的连接器,连接器 returning 字符串如下 JSON:

{
    "name": "Bryan",
    "email": "bryan@myservice.com",
    "uid": "b6fr89dbf6d9156cace5f3c78dc9851d957381ef",
    "email_verified": true
}

我知道我可以在 Mule 流中实现一个 "JSON to Object" 转换器,但我希望连接器改为 return 一个 POJO。也就是说,我将 @RestCall 注释的抽象方法修改为 return 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
     */
}

但是,现在我正在尝试 return 帐户对象,我收到以下错误:

org.mule.api.transformer.TransformerException: Could not find a transformer to transform "SimpleDataType{type=java.lang.String, mimeType='/'}" to "SimpleDataType{type=org.mule.modules.myservice.model.Account, mimeType='/'}".

我看到有一个 @Transformer 注释,但是缺少有关如何在 JSON and/or 的上下文中使用 and/or 来实现它的文档14=] 在 Mule 连接器中。

任何人都可以就如何将 JSON 的字符串转换为连接器中的帐户对象提供建议吗?

在某些时候(不是您指向的地方)您正试图将字符串传递给需要帐户的操作。为此注册一个转换器或在操作前手动转换。

我在另一个论坛收到了以下回复,想转告一下:

In order to use DevKit @RestCall with pojos, you need to define the transformers from String to your POJO.

Check this example: https://github.com/pablocabrera85/json-place-holder-connector

对于我的具体问题,这是我一直在寻找并且确实有效的示例类型。