【发布时间】:2017-10-17 19:32:17
【问题描述】:
上传包含以下字段的 Multipart 表单时:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="info"
[{"foo":"Foo Data","bar":"Bar Data"}]
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="id"
someId
------WebKitFormBoundary7MA4YWxkTrZu0gW--
服务器抛出错误为:
Unable to find a MessageBodyReader for media type: text/plain;charset=us-ascii and class type java.util.List
端点如下所示:
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response bulkUpload(@MultipartForm UploadRequestModel uploadRequest) {
...
}
模型用作:
public class UploadRequestModel {
@FormParam("info")
private List<InfoModel> info;
@FormParam("id")
private String id;
/**
* Getters/Setters
**/
}
public class InfoModel {
private String foo;
private String bar;
/**
* Getters/Setters
**/
}
有没有办法将 info 部分解组为模型中的 List?
【问题讨论】:
-
您找到解决方案了吗?
-
没有希望。继续使用扁平模型而不是嵌套
标签: java multipartform-data resteasy