【发布时间】:2015-03-19 17:20:36
【问题描述】:
我需要在 Spring MVC 中创建一个可以同时处理 JSON 和 Multipart Form 请求的方法。
这是我的方法的签名:
@RequestMapping(value = { "/upload_image" }, method = RequestMethod.POST)
public @ResponseBody void uploadImage(final ImageDTO image)
ImageDTO 类如下所示:
public class ImageDTO {
private String imageUrl;
private Long imageId;
private MultipartFile image;
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(final String url) {
this.imageUrl = url;
}
public Long getImageId() {
return imageId;
}
public void setImageId(final Long imageId) {
this.imageId = imageId;
}
public MultipartFile getImage() {
return image;
}
public void setImage(MultipartFile image) {
this.image = image;
}
}
所以场景是我需要支持两种场景: 1.从form上传图片,Content-Type为multipart-form(所有DTO成员不为null) 2. 使用 JSON 上传图片,仅使用 imageUrl。 在这种情况下,请求正文如下所示:
{
"imageId":"1236",
"imageUrl":"http://some.image.url",
"image":null
}
当前实现可以很好地处理多部分请求,但是在发送 JSON 时,ImageDTO 对象的所有成员中都包含 NULL。
是否可以让同一个方法处理两种内容类型?
谢谢。
【问题讨论】:
标签: java json rest spring-mvc