Utiliser le client REST pour appeler le service Web de repos multipart / form-data
J'ai un RESTeasy à base de services web REST (voir ci-dessous). Je suis en train d'utiliser le google RESTE le client pour l'exécution d'une demande de test de mon service, mais je suis pas certain de la façon dont la demande doit être paramétré.
Je ne suis pas sûr de savoir comment envoyer le byte[]
comme un param (filedata
).
Toutes les idées sur la façon de tester cela?
- Je obtenir de l'exception suivante:
java.io.IOException: Impossible d'obtenir de la frontière multipart
avec
request:
-content-type=multipart/form-data
-form params:
test=testvalue
Reste la méthode:
@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form) {
System.out.println("form=" + form.getTest());
return null;
}
FileUploadForm Pojo:
import javax.ws.rs.FormParam;
import org.jboss.resteasy.annotations.providers.multipart.PartType;
public class FileUploadForm {
private byte[] filedata;
private String test;
public FileUploadForm() {}
public byte[] getFileData() {
return filedata;
}
@FormParam("filedata")
@PartType("application/octet-stream")
public void setFileData(final byte[] filedata) {
this.filedata = filedata;
}
public String getTest() {
return test;
}
@FormParam("test")
@PartType("application/json")
public void setTest(String test) {
this.test = test;
}
}
source d'informationauteur c12
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour ajouter cet en-tête de votre demande:
en général, vous utilisez un type de Contenu comme ceci:
Vous pouvez le tester avec Facteur RESTE client
J'ai joint une image de la façon dont le formulaire doit être rempli.