Ho bisogno di creare un metodo in Spring MVC in grado di gestire sia le richieste JSON che quelle Multipart.Servizio REST che può utilizzare sia JSON che Multipart Form
Questa è la firma del mio metodo:
@RequestMapping(value = { "/upload_image" }, method = RequestMethod.POST)
public @ResponseBody void uploadImage(final ImageDTO image)
classe ImageDTO appare come segue:
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;
}
}
Quindi lo scenario è che ho bisogno di sostenere due scenari: 1. immagine fino carico dalla forma , dove Content-Type è multipart-form (tutti i membri DTO non sono null) 2. Caricamento immagine usando JSON, utilizzando SOLO l'imageUrl. In questo caso, il corpo della richiesta si presenta così:
{
"imageId":"1236",
"imageUrl":"http://some.image.url",
"image":null
}
L'implementazione corrente gestisce bene la richiesta più parti, ma quando si invia il JSON, l'oggetto ImageDTO contiene NULL in tutti i suoi membri.
È possibile utilizzare lo stesso metodo per gestire entrambi i tipi di contenuto?
Grazie.
Grazie. Ho già provato questo, questo fa sì che il JSON funzioni, ma quando invio la richiesta in formato multipart non riesce e l'errore dice che il tipo di contenuto in formato multipart non è supportato. –
Sì, non è possibile farlo direttamente. – shazin
Capisco. Grazie mille. –