我想在Resteasy服务中收到这些HTTP参数(POST):
customFields[my_key]=some_value
customFields[my_key2]=some_value2
这样的事情不起作用:
@Form(prefix="customFields")
Map<String, String> customFields
...这里发生的是在服务器上初始化新Map,并设置Map条目的键(即“my_key”)但是没有设置值。
有没有人知道如何处理像我这样的情况,我需要接收未知数量的字段(在Map中),但每个字段都是正确结构化的(HTTP地图/字典表示法)。
答案 0 :(得分:1)
这是known bug。解决方法是使用您自己的字符串包装器作为映射值类型。例如:
public class StringWrapper implements Serializable {
private static final long serialVersionUID = 1L;
@FormParam("value")
public String value;
}
将地图重新定义为:
@Form(prefix="customFields")
Map<String, StringWrapper> customFields;
然后将值作为customFields[my_key].value=some_value