如何在Mule连接器中创建具有动态值的下拉列表

时间:2015-09-16 06:51:57

标签: mule

我知道有一种方法可以使用枚举创建下拉列表(这里也提到了how do i add a drop down list item in a mule connector?),但是在这种情况下,枚举已经预先定义,你知道值。 如果我不知道前面的值,例如下拉列表需要从API调用中获取值,该怎么办?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你可以使用DataSense实现它,但是以一种hackish的方式实现,因为你只需要使用密钥并为所有密钥检索相同的实体。

如果您不熟悉,我建议您阅读DataSense Docs

示例:

@MetadataCategory
public class DropDownCategory(){

    // this method output will be displayed as a dropdown list
    @MetaDataKeyRetriever
    public List<MetaDataKey> getMetaDataKeys() throws Exception {
        List<MetaDataKey> keys = new ArrayList<>();
        // Fill your list with the data of the ap
        // new DefaultMetaDataKey(id, value));
        return keys;
    }

    @MetaDataRetriever
    public MetaData getMetaData(MetaDataKey key) throws Exception {
        // here you will retrieve the same entity for all the keys (or not, depending what you want to implement)
        return new DefaultMetaData(...);
    }

} 

最后,您需要使用@MetaDataScope(DropDownCategory.class)和您希望用@MetaDataKeyParam

表示为DropDown列表的参数来处理您的处理器

希望这有助于