如何在Resteasy中接收Map参数?

时间:2014-07-13 09:37:58

标签: resteasy

我想在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地图/字典表示法)。

1 个答案:

答案 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

传递给它