JSON POST à l'aide de RestAssured
Je suis en train de créer un test pour valider la réponse d'un JSON Post est prévu.
Je suis en train de tester le POSTE de JSON corps du message à une adresse URL qui est à son tour envoie ensuite un message texte et en cas de succès, il envoie une réponse qu'il a encore été une réussite au format JSON.
Mon test est comme suit
public void simpleTest() {
String myJson = "{\"phoneNumber\":\"353837986524\", \"messageContent\":\"test\"}";
given()
.port(31111) //port number
.header("Content-Type", "application/json")
.body(myJson)
.when()
.post("/testenvironment/text/send")
.then().assertThat()
.body("message", equalTo("{\"resultMessage\":\"Message accepted\"}"));
}
Mais semblent obtenir cette exception
java.lang.IllegalStateException: Vous pouvez soit envoyer les paramètres de formulaire
OU de l'organe contenu dans le POST, pas les deux!
Et je ne suis pas sûr de ce qu'est la question?
- Merci de ne pas modifier l'objet de votre question, car il permet d'invalider les réponses. Si vous rencontrez des difficultés de mise en œuvre d'une réponse, postez un commentaire sur elle, et le répondeur recevrez une notification. Si vous vous retrouvez avec une autre question, puis poste en tant que nouvelle question. Vous pouvez faire un lien de retour ici pour le contexte.
Vous devez vous connecter pour publier un commentaire.
Restassured est de ne pas parser Json que par la trace de la pile. J'utilise org.json pot, qui est la plus élégante façon de traiter de grands volumes de json entrées. Il existe d'autres implémentations de json de manutention en java, qui peut être utilisé en fonction de vos préférences.
Venir à votre code:
Aussi, je n'ai pas trouver ce que la production du reste du service en question. Par exemple, il est de retour d'un json
{"resultMessage":"Message accepted"}
vous devriez être à la validation de la réponse de la manière suivante:groovy.json.JsonException: Lexing failed on line: 1, column: 1, while reading 'R', no possible valid JSON value or punctuation could be recognized.
, je vais créer une nouvelle question, mon premier était différent et il a éditéEssayez de changer le type mime d'un en-tête au lieu d'un paramètre.
Et sur la base des informations que vous avez partagé, je pense que ce que vous avez besoin est le Type de Contenu d'en-tête, pas de type mime.
groovy.json.JsonException: Lexing failed on line: 1, column: 1, while reading 'R', no possible valid JSON value or punctuation could be recognized.
.header("Content-Type", "application/json")
je vais mettre à jour la question