【发布时间】:2017-07-10 11:56:58
【问题描述】:
假设我得到了以下模型:
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class MyModel {
private Object field; //required field
private Object anotherField; //optional field
}
现在我想验证我的 REST 端点是否正常工作(只需要必填字段),所以我想执行以下 2 个请求并检查它们是否导致 200:
{
"field": "someValue",
"anotherField": null
}
和:
{
"field": "someValue"
}
有了第一个,代码就简单了:
MyModel payload = MyModel.builder().field("someValue").build();
when().contentType(ContentType.JSON).body(payload).put("http://my-service.com/myendpoint/").then().statusCode(200);
但是第二个开始变得有点笨拙了。如果我不为anotherField 提供值,默认情况下它将为空,这就是将通过 REST(第一个 TC)发送的内容。但此时 我不想发送此字段。换句话说:
我希望 RestAssured 不发送 nulls。有什么方法可以实现吗?
【问题讨论】:
标签: java json rest http rest-assured