我的端点上有以下方法:
public void test(Map<Long, List<String>> map) {
//do something with the map
}
但是生成的代码需要一个JsonMap,它基本上是一个
Map<String, Object>
。因此,我必须将地图放入JsonMap。import com.example.mymodule.backend.endpointName.model.JsonMap
.
.
.
public void someMethod(Map mappings) {
JsonMap map = new JsonMap();
for (Map.Entry<Long, List<String>> e : mappings.entrySet()) {
map.put(String.valueOf(e.getKey()), e.getValue());
}
endpointServiceHandle.endpoint().test(map).execute();
}
直到到达端点中
mappings
的末尾(迭代期间)为止,它似乎一直有效。在最后一个Key,Value
对中,Key
不是long
,值也不是List<String>
,但两者都是String
。基本上:如何使用长对和列表对映射作为参数?
最佳答案
看来您正在以一种奇怪的方式进行此操作。你read the docs on endpoints in Java了吗?有效的参数类型包括任何java.util.Collection。您可以简单地将所有内容作为字符串映射发送,并根据您的应用程序的需要来解析长号/字符串。如前所述,最后一个键值对似乎失败了,因为映射中的类型与您引用它们的方式不对应。