如何创建一个简单的json模板以放心发送身体数据?

时间:2019-02-04 17:18:08

标签: java json rest-assured rest-assured-jsonpath

因此,我正在尝试构建一个json以将数据发送到我保证的请求的正文,例如此处的结构:

$Id = $conn->lastInsertId();

因此,就像将其作为字符串复制到请求的主体一样简单,我完成了,我一点也不想要。

是否存在各种框架来赋予该结构并以某种方式动态更改数据? 我不想要这样:(例如)

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

我想在这里更加灵活,以引用处理此类问题的某种对象(可以在某些地方更改数据的模板?),是否有类似的东西?

1 个答案:

答案 0 :(得分:2)

我认为您需要使用POJO和Jackson将其序列化为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