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

RestAssured接口测试断言失败:JSON Path id匹配异常,如何获取单条记录?

问题解决方法

错误原因

你当前请求的是/posts列表接口,返回的是帖子数组,JSON Path id会提取所有帖子的id组成集合,和单个id值167039断言自然不匹配,这就是报错的核心原因。

解决方案

要访问单条id为167039的记录,需要修改请求地址为单条帖子的详情接口,同时调整断言逻辑:

  • 修改请求URL:将GET请求地址改为单条帖子的详情路径,格式为https://gorest.co.in/public/v2/posts/{id},替换后为https://gorest.co.in/public/v2/posts/167039。
  • 调整断言:返回的是单个帖子对象,直接断言id等于目标数值(注意id是数字类型,不要用字符串)。
  • 修正Header断言错误:原代码中header("User-Agent","application/json")是错误的,application/json是响应的Content-Type头,而非User-Agent,可以改为断言Content-Type,或者去掉该断言(如果不需要验证的话)。

修正后的代码

@Test
public void getStatus() {
    given()
            .when()
            .get("https://gorest.co.in/public/v2/posts/167039")
            .then()
            .statusCode(200)
            .body("id", equalTo(167039))
            .header("Content-Type", "application/json; charset=utf-8");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:42:07