RestAssured 将项目添加到 List POJO

RestAssured adding item to List POJO

我正在尝试使用以下 JSON 文件作为输入:

{
    "partnerID": "529",
    "requests": [
        {
            "agencyId": "461007",   
            "lobCd": "LM"
        },
        {
            "agencyId": "023000",  
            "lobCd": "LM"
        },
        {
            "agencyId": "103000",  
            "lobCd": "GL"
        },
        {
            "agencyId": "023000",  
            "lobCd": "GL"
        }
    ]
}

这是我的 2 个 POJO 文件:

@Getter
@Setter
public class Root {

    public String partnerID;
    public List<Request> requests;

}

@Getter
@Setter
public class Request {

    public String agencyId;
    public String lobCd;
}

请求正文

public class SuccessfulRequestBody {

    public Object getLobSycbBody_Successful() {

        Root root = new Root();
        Request request = new Request();

        List<Request> requests = new ArrayList<Request>();
        root.setPartnerID("529");


        request.setAgencyId("461007");
        request.setLobCd("LM");
        requests.add(request);
        root.setRequests(requests);

        requests = new ArrayList<Request>();
        request.setAgencyId("023000");
        request.setLobCd("LM");
        requests.add(request);
        root.setRequests(requests);

        requests = new ArrayList<Request>();
        request.setAgencyId("103000");
        request.setLobCd("GL");
        requests.add(request);
        root.setRequests(requests);

        requests = new ArrayList<Request>();
        request.setAgencyId("103000");
        request.setLobCd("GL");
        requests.add(request);
        root.setRequests(requests);

        requests = new ArrayList<Request>();
        request.setAgencyId("023000");
        request.setLobCd("GL");
        requests.add(request);

        root.setRequests(requests);

        return root;
    }
}

问题:当我运行测试时我只得到最后一个代理023000,其他的没有被添加到列表中。我想在我的输出文件中看到所有其他机构,lob。

    @Test
    public void getSuccessResponse(){

        String token= generateToken.getGenerateToken();
        SuccessfulRequestBody successfulRequestBody = new SuccessfulRequestBody();

        Response response = given().log().all().contentType("application/json; charset=utf-8").
                contentType("application/json; charset=utf-8").
                header("Content-Type", "application/json").
                header("Authorization", "Bearer "+token).
                //baseUri("https://test-cerebria.test.homesitecommercial.kitchen/api/msaivanspolicyservice/agent/lobSync").
                body(successfulRequestBody.getLobSycbBody_Successful()).
                        when().
                        post("https://test-cerebria.test.homesitecommercial.kitchen/api/msaivanspolicyservice/agent/lobSync").
                        then().
                        extract().response();

    }
}

输出:

{
    "partnerID": "529",
    "requests": [
        {
            "agencyId": "023000",
            "lobCd": "GL"
        }
    ]
}

提前感谢您的时间和想法。

正确的方法是为 class request 创建多个对象,设置值并将它们添加到 list

Root root = new Root();
Request request1 = new Request();
Request request2 = new Request();
Request request3 = new Request();
Request request4 = new Request();

request1.setAgencyId("461007");
request1.setLobCd("LM");

request2.setAgencyId("023000");
request2.setLobCd("LM");

request3.setAgencyId("103000");
request3.setLobCd("GL");

request4.setAgencyId("023000");
request4.setLobCd("GL");

List<Request> list = new LinkedList<Request>();
list.add(request1);
list.add(request2);
list.add(request3);
list.add(request4);

root.setPartnerID("529");
root.setRequests(list);