You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Post接口响应生成ID提取失败,请求技术协助(附代码)

问题:无法从POST接口响应中提取生成的ID

我无法从Post接口的响应中提取生成的ID,代码的最后两行存在问题(可参考截图)。

接口响应截图

@Test
public void create() {  
    RestAssured.baseURI= "https://dummy.restapiexample.com";
    String response=given().log().all().header("Content-Type","application/json")
    .body(payload.employee()).when().post("/api/v1/create")
    .then().log().all().assertThat().statusCode(200)
    .header("Server", "Apache").extract().response().asPrettyString();

    System.out.println(response);

    JsonPath js = new JsonPath(response);
    String id = js.get("id");
    System.out.println("id");
}

问题分析与解决方案

你的代码存在两处问题:

  • JSON路径错误:从截图的响应结构能看到,ID是嵌套在data对象下的,直接用js.get("id")找不到对应字段,需要使用data.id作为路径
  • 打印语句错误:最后一行System.out.println("id");是打印字符串"id",而非你提取的变量id,所以无法输出实际的ID值

修正后的代码片段:

JsonPath js = new JsonPath(response);
String id = js.get("data.id");
System.out.println(id);

替换原代码的最后两行即可正常提取并打印生成的ID。

内容的提问来源于stack exchange,提问作者chinmay k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 22:48:06