如何在restured中使用POST方法并从其响应中获取值

时间:2014-12-24 16:00:22

标签: junit jersey rest-client rest-assured

我想使用rest-assured来测试POST方法。我想获取响应中返回的值,并在另一个GET方法中将值用作路径参数。任何人都可以提供POST方法的示例代码以及如何从响应中获取值。提前谢谢。

编辑:

RequestSpecBuilder builder = new RequestSpecBuilder();
    builder.setBody(input);
    builder.setContentType("application/json; charset=UTF-8");
    RequestSpecification requestSpec = builder.build();
    given()
    .spec(requestSpec)
    .when()
    .post("myURL");

这是我用于POST和PUT方法的方法。我的响应将产生类似

的JSON输出
{
"Name": "value",
"email": "abc@xxx.com"}

我想获取name的值并将其用作另一个GET方法的queryparam。任何人都可以帮我解决这个问题,从JSON响应中获取值并将其分配给变量吗?

1 个答案:

答案 0 :(得分:1)

这应该在教程中介绍,但你尝试过类似的东西吗?

String json = given()
.spec(requestSpec)
.when()
.post("SomeKindOfUrlHere")
.asString();

System.out.println("Name: " + from(json).get("Name"));
System.out.println("Email: " + from(json).get("email"));