Resteasy(multipart / form-data):如何将多值字段值读取到List?

时间:2012-02-14 15:06:56

标签: java resteasy

我需要一点帮助。 我有一个包含一些多值字段的多部分Web表单。 我的主题参数请求数据:

------WebKitFormBoundary2sX84QQsaESs9qTv
Content-Disposition: form-data; name="topics"

3569
------WebKitFormBoundary2sX84QQsaESs9qTv
Content-Disposition: form-data; name="topics"

18421
------WebKitFormBoundary2sX84QQsaESs9qTv
Content-Disposition: form-data; name="topics"

9703

如何阅读列出的“主题”参数? 这就是我的topic属性参数的注释方式

@FormParam("topics")
private String[]  topics;

但我得到一个例外:

Unable to find a MessageBodyReader for media type: text/plain;charset="us-ascii" and class type [Ljava.lang.String;

非常感谢任何帮助或示例。

亲切的问候

阿曼

1 个答案:

答案 0 :(得分:2)

这是你要找的吗?

@PUT
@Path("/someurl")
@Consumes("multipart/form-data")
@Produces("text/plain;charset=UTF-8")
public String someUrl(MultipartFormDataInput form) 
{
    try {
        List<InputPart> l = form.getFormDataMap().get("topics");
        String topic1 = l.get(0).getBodyAsString();
        String topic2 = l.get(1).getBodyAsString();
        String topic3 = l.get(2).getBodyAsString();
        // do something with the topics ...
    } catch (IOException e) {
        e.printStackTrace();
    }
    return "something went wrong";
}