Как создать простой шаблон JSON для отправки данных тела с перезагруженным? - PullRequest
0 голосов
/ 04 февраля 2019

Итак, я пытаюсь создать json для отправки данных в тело моего запроса с переадресацией, как эта структура здесь:

{
  "id": 1,
  "category": {
    "id": 1,
    "name": "duch"
  },
  "name": "benny",
  "photoUrls": [
    "string"
  ],
  "tags": [
    {
      "id": 0,
      "name": "string"
    }
  ],
  "status": "available"
}

Так просто, как скопировать это как строку в телозапроса, и я готов, я не хочу этого вообще.

Есть ли какая-то структура, которая дает эту структуру и как-то динамически изменять данные?Я не хочу этого: (например)

given().body("{\r\n\"city\": \"Hod Hasharon\",\r\n\"description\": \"Automation Hotel\",\r\n\"name\":\"Nir Great hotel\",\r\n\"rating\":5\r\n}")
                    .when().post("http://localhost:8090/example/v1/hotels").then().statusCode(201);

Я хочу быть более гибким, чтобы ссылаться на какой-то объект (шаблон с возможностью изменения данных в некоторых местах?), Чтообрабатывает этот материал, есть что-то подобное?

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, что вам нужно использовать POJO и Джексона для сериализации его в json.

public class Payload {

   private int id;
   private String name;
   private List<Tag> tags; //Tag is another class you need to create the same way

   //getters, setters
}

А затем использовать объекты в качестве полезной нагрузки в вашем запросе:

Payload payload = new Payload();
payload.setId(123);
payload.setName("John");

given().contentType("application/json").body(payload).when().post("http://example.com");

Также нене забудьте добавить в свой проект зависимость jackson-databind .

Об этом подробнее в официальной документации: https://github.com/rest-assured/rest-assured/wiki/Usage#object-mapping

...