Как отправить JsonObject с вложенными значениями в качестве запроса Post в REST assured
Я использую будьте уверены -https://code.google.com/p/rest-assured/wiki/Usage Мой JsonObject выглядит так
{
"id": "12",
"employeeInfo": null,
"employerInfo": null,
"checkDate": 1395093997218,
"netAmount": {
"amount": 70,
"currency": "USD"
},
"moneyDistributionLineItems": [
{
"mAmount": 100,
"employeeBankAccountId": "BankAccount 1"
}
],
}
Как я могу отправить это как часть параметров, используя REST-assured POST? Я пробовал
given().param("key1", "value1").param("key2", "value2").when().post("/somewhere").then().
body(containsString("OK"));
но это не масштабируется для огромных объектов с вложенными значениями. Есть ли лучший подход?
2 ответов
вы просто отправляете документ JSON в теле. Например, если у вас есть документ JSON в строке с именем myJson, вы можете просто сделать так:
String myJson = ..
given().contentType(JSON).body(myJson).when().post("/somewhere"). ..
вы также можете использовать POJO, входной поток и byte[] вместо строки.
URL file = Resources.getResource("PublishFlag_False_Req.json");
String myJson = Resources.toString(file, Charsets.UTF_8);
Response responsedata = given().header("Authorization", AuthorizationValue)
.header("X-App-Client-Id", XappClintIDvalue)
.contentType("application/vnd.api+json")
.body(myJson)
.with()
.when()
.post(dataPostUrl);