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

如何在Mule connector中创建具有动态值的下拉列表,mule,Mule,我知道有一种方法可以使用enum创建下拉列表(这里也提到了),但是在这种情况下,enum已经是预定义的,您知道这些值。 如果我不知道前面的值,例如下拉列表需要从API调用中获取值,该怎么办。我怎么能这样做呢?您可以使用DataSsense实现这一点,但这是一种黑客行为,因为您只需要使用密钥并为所有密钥检索相同的实体 如果你不熟悉这本书,我建议你读一读 例如: @MetadataCategory public class DropDownCategory(){ // this metho

我知道有一种方法可以使用enum创建下拉列表(这里也提到了),但是在这种情况下,enum已经是预定义的,您知道这些值。
如果我不知道前面的值,例如下拉列表需要从API调用中获取值,该怎么办。我怎么能这样做呢?

您可以使用DataSsense实现这一点,但这是一种黑客行为,因为您只需要使用密钥并为所有密钥检索相同的实体

如果你不熟悉这本书,我建议你读一读

例如:

@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(...);
    }

} 
@MetadataCategory
公共类DropDownCategory(){
//此方法输出将显示为下拉列表
@MetaDataKeyRetriever
public List getMetaDataKeys()引发异常{
列表键=新的ArrayList();
//用ap的数据填写您的列表
//新的DefaultMetaDataKey(id,value));
返回键;
}
@元数据检索器
公共元数据getMetaData(MetaDataKey)引发异常{
//在这里,您将为所有键检索相同的实体(或者不检索,取决于您想要实现的内容)
返回新的DefaultMetaData(…);
}
} 
最后,您需要使用
@MetaDataScope(DropDownCategory.class)
和要用
@MetaDataKeyParam


希望这有帮助

谢谢,我看了医生,看起来这就是我想要的。将再次测试和注释。但此方法有一个限制。对于一个操作,只有一个参数可以应用@MetaDataKeyParam,即只有一个参数可以看到动态值。