Je veux envoyer ci-dessous en tant que form-data dans le corps de l'API pour une demande PUT:
Comment faire cela en utilisant REST-Assured
Ci-joint la capture d'écran Image Form-Data
Vous devez définir le type de contenu souhaité, c'est-à-dire "multipart/form-data" et ajouter les spécifications de la demande en plusieurs parties à la demande. Par exemple.
given()
.contentType("multipart/form-data")
.multiPart("file", "filename")
.multiPart("key", "value")
.when()
.put(endpoint);
Assurez-vous d'inclure un objet fichier si vous effectuez un téléchargement de fichier. Ça devrait ressembler à ça:
given()
.contentType("multipart/form-data")
.multiPart("id", "123")
.multiPart("file", new File("./src/test/resources/test-file.txt"))
.post("api/endpoint")
.then()
...
String body = given().
header("Origin", "http://3........80").header("Upgrade-Insecure-Requests", "1").
header("Referer", "http://........80/").header("Accept-Encoding", "gzip, deflate").
header("Accept-Language", "en-US,en;q=0.9").
formParam("message", getFormParamsMap()).
when().post("http://.....0/process-message").then().statusCode(200).extract().asString();
static Map<String, String> getFormParamsMap() {
Map<String, String> formParams = new HashMap<>();
formParams.put("g...me", "us-ma-boston");
formParams.put("s..score_cold..u", "31");
return formParams;
}
Envoi des données du formulaire de Postman