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