在确认的

时间:2017-02-20 10:12:08

标签: java rest-assured

我通常能够创建类作为.body()的输入并且确保正确读取所有数据,但不能使用数组。
我尝试将对象类声明为一个数组,但是放心并没有按照我的意愿正确接受它 使用rest-assured时,我可以将对象数组作为.body发送吗?

请求正文

[
    {
        "product_type" : "1",
        "request_by" : "android",
    },
    {
        "product_type" : "2",
        "request_by" : "ios",
    }
]

我上课

public class ProdReq {
    private String product_type;
    private String request_by;

    public String getProduct_type() {
        return product_type;
    }

    public void setProduct_type(String product_type) {
        this.product_type = product_type;
    }

    public String getRequest_by() {
        return request_by;
    }

    public void setRequest_by(String request_by) {
        this.request_by = request_by;
    }

我用来获得回复的代码

ProdReq[] prodReq = new ProdReq[2]
//set the data
......
given().when().body(prodReq).post({{api_url}}).then().extract().response();

我应该创建类的JSONObject(如果可能),然后将它们放在JSONArray中吗?

1 个答案:

答案 0 :(得分:1)

@GFB您是否设置了ContentType?尝试使用这样的东西:

List<ProdReq> prodReq = new ArrayList<>();
... set up the data. 

given().contentType(ContentType.JSON).when().body(prodReq).post({{api_url}}).then().extract().response();

我正在使用对象序列化到JSON主体,而我的项目没有任何问题。