Tôi cần tạo phương thức trong Spring MVC có thể xử lý cả hai yêu cầu JSON và Multipart Form.Dịch vụ REST có thể sử dụng cả JSON và Multipart Form
Đây là phương pháp chữ ký của tôi:
@RequestMapping(value = { "/upload_image" }, method = RequestMethod.POST)
public @ResponseBody void uploadImage(final ImageDTO image)
lớp ImageDTO trông như sau:
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;
}
}
Vì vậy, kịch bản là tôi cần phải hỗ trợ hai kịch bản: 1. Hình ảnh lên tải từ hình thức , trong đó Content-Type là multipart-form (tất cả các thành viên DTO không rỗng) 2. Tải lên hình ảnh bằng JSON, chỉ sử dụng imageUrl. Trong trường hợp này, cơ thể yêu cầu trông như thế này:
{
"imageId":"1236",
"imageUrl":"http://some.image.url",
"image":null
}
Việc thực hiện xử lý các yêu cầu nhiều phần dữ liệu tốt, nhưng khi gửi JSON, đối tượng ImageDTO chứa NULLs trong tất cả các thành viên.
Có thể làm cho cùng một phương thức xử lý cả hai loại nội dung không?
Cảm ơn bạn.
Cảm ơn bạn. Tôi đã thử điều đó rồi, điều này thực sự làm cho JSON hoạt động, nhưng khi gửi yêu cầu nhiều phần thì nó thất bại và lỗi nói rằng loại nội dung dạng nhiều phần không được hỗ trợ. –
Có, Bạn không thể trực tiếp làm điều đó. – shazin
Tôi hiểu. Cảm ơn nhiều. –