是否可以将地图上传到 Apache ISIS 的宁静界面?我有以下要上传到的界面:
public SendMessageResponse send(
@ParameterLayout(named = "dummyParam1") @Parameter(optionality = Optionality.MANDATORY) String dummyParam1,
@ParameterLayout(named = "dummyParam2") @Parameter(optionality = Optionality.MANDATORY) String dummyParam2,
@ParameterLayout(named = "dummyMap1") @Parameter(optionality = Optionality.OPTIONAL) Map<String, String> dummyMap1)
{ ... }
dummyMap1
是我要上传的参数。在 Java 中,这是我尝试将 JavaMap 转换为 JSON 字符串:
Map<String, String> dummyMap1Up = new HashMap<String, String>();
dummyMap1Up.put("Test123", "123");
dummyMap1Up.put("Test456", "456");
JSONObject json = new JSONObject();
json.put("dummyParam1", "someString");
json.put("dummyParam2", "someOtherString");
json.put("dummyMap1", dummyMap1Up);
但是当我想上传这个 JSON 时,所有参数都很好,除了 Map。我得到一个422 Unprocessable Entity
状态和以下错误:Expected a link (because this object's type is not a value) but found no 'href'"
.
我试图弄清楚如何在 Apache ISIS 中用 JSON 构建地图。我试图从 Apache ISIS 响应中获取地图,但我唯一得到的是它被禁用的通知,因为"disabledReason" : "Non-cloneable view models are read-only"
.
所以我现在的问题是:是否可以使用 JSON 表示将 JavaMap 上传到 Apache ISIS,还是不可能?当不可能这样做时,是否有任何其他好的解决方案可以单独上传地图部分或类似的东西?
干杯并感谢您的回答!