web-dev-qa-db-fra.com

Comment envoyer des données de formulaire dans l'API à l'aide de Rest-Guaranteed

Je veux envoyer ci-dessous en tant que form-data dans le corps de l'API pour une demande PUT:

  1. Téléchargez un fichier (KEY) avec "Error.png" (VALUE)
  2. Envoyer un texte, "MyName" (KEY) avec false (VALUE)

Comment faire cela en utilisant REST-Assured

Ci-joint la capture d'écran Image Form-Data

8
D Bhatnagar

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);
8
rohit.jaryal

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()
    ...
4
Evan Siroky
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;
    }

En-têtes n poste homme

Envoi des données du formulaire de Postman

Données du formulaire envoyées via Reste assuré

Données du formulaire telles que représentées dans Google

0
boney dsilva