REST Assured 29 - 创建POJO 作为一个JSON Object Payload_@payload pojo

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

private String firstName;
private String lastName;
private String gender;
private int age;
private double salary;
private boolean married; 

}


**为 private 变量添加 getter 和 setter 方法**  
 因为我们创建的所有变量都是 private 的,我们应该提供方法去获取或操作这些数据,所有我们需要为每个变量添加 getter 和 setter 方法。当然这不是强制的,取决于我们的需求。但是现在我们在一个类里添加 getter 和 setter 方法。一个 getter 方法是为了获取一个变量的值,一个 setter 方法是为了从外面能设置这个变量的值。



// Getter and setter methods
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public boolean getMarried() {
return married;
}
public void setMarried(boolean married) {
this.married = married;
}


你如果正担心,手动为大量的变量创建这些 getter 和 setter 方法会是非常痛苦的。大可不必有这种担心,每个IDE都有捷径添加 getter 和 setter 方法,goole一下就知道。


也不用在类里加任何构造函数,因为会有一个默认的构造函数。


**完整的POJO类:**



public class Employee {

// private variables or data members of pojo class
private String firstName;
private String lastName;
private String gender;
private int age;
private double salary;
private boolean married;

// Getter and setter methods
public String getFirstName() {
	return firstName;
}
public void setFirstName(String firstName) {
	this.firstName = firstName;
}
public String getLastName() {
	return lastName;
}
public void setLastName(String lastName) {
	this.lastName = lastName;
}
public String getGender() {
	return gender;
}
public void setGender(String gender) {
	this.gender = gender;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}
public double getSalary() {
	return salary;
}
public void setSalary(double salary) {
	this.salary = salary;
}
public boolean getMarried() {
	return married;
}
public void setMarried(boolean married) {
	this.married = married;
} 

}


我们现在完成了为一个employee JSON创建一个POJO类,那么这个类有啥帮助呢。


用上面的POJO类,我们可以创建任意数量的自定义Employee对象,每个对象可以被转换成一个JSON Object,同样每个JSON Object 也被解析成 Employee POJO 对象。如果你有一个API需要动态的 Employee payload,我们可以很方便地创建不同数据的 employee payloads,而不用创建固定数据的JSON objects。简单来说,就是POJO方便你用简单的方式灵活创建和操作数据。


我们将从 POJO 创建一个JSON Object,反之亦然,利用Jackson API,我们称之为序列化和反序列化。


序列化 serialization - 将 Employee 类对象 转换成 JSON Object 呈现。


反序列化 deserialization - 将一个 JSON Object 转换成 Employee 类对象。



import org.junit.Test;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class EmployeeSerializationDeserialization {

@Test
public void createEmployeeJSONFromEmployeePOJOClass() throws JsonProcessingException
{
	// Just create an object of Pojo class
	Employee employee = new Employee();
	// Set value as you wish
	employee.setFirstName("Amod");
	employee.setLastName("Mahajan");
	employee.setAge(29);
	employee.setGender("Male");
	employee.setSalary(3434343);
	employee.setMarried(false);
	
	// Converting a Java class object to a JSON payload as string
	ObjectMapper objectMapper = new ObjectMapper();
	String employeeJson = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(employee);
	System.out.println(employeeJson);
}


@Test
public void getPojoFromEmployeeObject() throws JsonProcessingException
{

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RestAssured一个流行的Java自动化测试框架,用于编写和执行RESTful API测试。它可以通过简单的API来处理HTTP请求和响应,并且可以轻松地将请求和响应转换为可读性强的代码。RestAssured还可以使用Gherkin语言编写BDD测试,并且支持与JUnit和TestNG等测试框架集成。 使用RestAssured可以快速编写和执行HTTP请求,验证响应状态码、响应头、响应体等细节,并且可以使用各种验证方式进行验证,如JSON Schema验证、XPath验证、正则表达式验证等等。同时,RestAssured还支持多种HTTP身份验证方式,包括基本身份验证、摘要身份验证、OAuth等。 使用RestAssured编写自动化测试用例的步骤如下: 1. 引入RestAssured依赖。 2. 编写测试用例,包括HTTP请求和验证响应的代码。 3. 运行测试用例并查看测试结果。 下面是一个使用RestAssured编写的示例测试用例: ```java import io.restassured.RestAssured; import org.junit.Test; import static io.restassured.RestAssured.given; public class RestAssuredTest { @Test public void testGet() { // 发送GET请求 given() .get("https://jsonplaceholder.typicode.com/posts/1") // 验证响应状态码和响应体 .then() .statusCode(200) .body("title", equalTo("sunt aut facere repellat provident occaecati excepturi optio reprehenderit")); } } ``` 上面的示例测试用例发送了一个GET请求,验证了响应状态码和响应体。使用RestAssured,可以非常方便地编写和执行各种HTTP请求和自动化测试用例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值