如何使用POST主体中的参数进行GET路由

时间:2014-04-16 20:53:34

标签: java rest-assured

嘿,我是新来的,放心设法获得POST路由测试用例在以下测试用例的响应机构工作

public void submissionsUserPostTest() {

    JSONObject data = new JSONObject();
    data.put("username", "XYZ");

    String jsonString = data.toJSONString();

    Response request = given().contentType("application/json")
            .body(jsonString).expect().statusCode(201).when()
            .post(postRoute);

    request.print();
}

{"createdAt":"2014-04-16T20:04:40.560Z","updatedAt":"2014-04-16T20:04:40.560Z","id":"51de8ae0-","_links":{"self":{"href":"/assignments/51de8ae0-c43e-44c3-b46d-f48a25739385"}},"username":"XYZ","uploadDate":"2014-04-16T20:04:40.560Z"}

所以我的问题是 如何使用POST路由生成的id使用请求进入我的GET路由/赋值/ {id}?

2 个答案:

答案 0 :(得分:0)

你的意思是自我链接?在这种情况下,你可以这样做:

String assignment = 
given().
        contentType("application/json").
        body(jsonString)
when().
        post(postRoute).
then().
        statusCode(201).
extract().
      path("_links.self.href");

when().
       get(assignment).
then().
       ...

答案 1 :(得分:0)

使用类似

的内容
String id = response.jsonPath().getString("id");

然后传递存储的值[即id]到您的GET请求。