I am using Rest Assured framework where I dont want to use certrain varaibles that I have declared in the POJO.
package pojo;
import java.util.List;
public class DispositionStatus {
private String name;
private String code;
private String dispositionList;
private String parentDisposition;
private List<Data> data;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDispositionList() {
return dispositionList;
}
public void setDispositionList(String dispositionList) {
this.dispositionList = dispositionList;
}
public String getParentDisposition() {
return parentDisposition;
}
public void setParentDisposition(String parentDisposition) {
this.parentDisposition = parentDisposition;
}
public List<Data> getData() {
return data;
}
public void setData(List<Data> data) {
this.data = data;
}
}
Now I want to not use name and code in the payload , what changes shall I make in the StepDefinition here:
@Then("Uses the token and create Bulk disposition status payload with {string} {string}")
public void uses_the_token_generated_and_created_bulk_disposition_status_payload(String name , String code)
throws IOException {
Data firstStatus = new Data("NoAnswer","NOANS");
Data secondStatus = new Data("Answer", "ANSWR");
datajson.add(firstStatus);
datajson.add(secondStatus);
res = given().spec(requestSpecification()).body(data.addDispositionStatus(name, code, listId, datajson))
.relaxedHTTPSValidation();
}
I am trying to add the payload in post request like :
{
"data": [
{
"test": "saumy",
"test2": "say1y"
},
{
"test": "saumy",
"test2": "say1y"
}
],
"dispositionList": "11379"
}
I dont want to use name and code
Annotation @JsonInclude(JsonInclude.Include.NON_NULL)
will help you. Any field has null
value will not be deserialized.
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DispositionStatus {...}