如何创建一个简单的 json 模板来放心地发送正文数据?
How to create a simple json template to send body data with restassured?
所以我正在尝试构建一个 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);
我想在这里更灵活一些,以引用某种对象(可以选择在某些地方更改数据的模板?)来处理这些东西,有类似的东西吗?
我认为您需要的是使用 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
所以我正在尝试构建一个 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);
我想在这里更灵活一些,以引用某种对象(可以选择在某些地方更改数据的模板?)来处理这些东西,有类似的东西吗?
我认为您需要的是使用 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