需求
我们发送一个请求,结果返回json数据,我们需要根据json数据中code的值来判断此次请求是否成功。
接口案例:
@PostMapping(value = "/login")
public ResponseMessage<String> login(@RequestBody SeckillUserDTO seckillUserDTO){
return ResponseMessageBuilder.build(HttpCode.SUCCESS.getCode(), seckillUserService.login(seckillUserDTO.getUserName(), seckillUserDTO.getPassword()));
}
操作步骤
创建线程组

创建http请求

设置请求内容类型content-type

添加JSON断言
在添加JSON断言之前,先看看这个接口的响应数据格式:

现在,我们要根据响应结果中code的值来判断请求是否成功:

JSON断言成功/失败的情况
- 响应格式非JSON:失败
- 找不到code属性:失败
- 提取到code值,但是没有设置预期值:成功
- 提取值跟预期值不一致:失败
- 提取值跟预期值一致:成功
- 提取值是数组,跌断判断是否与预期值匹配:通过则成功,反之失败。
附:JSONPath语法表
JSONPath语法的一个例子:
{
"store": {
"book": [
{
"title": "入门到成功",
"price": 50.00
},
{
"title": "入门到入魂",
"price": 998.00
},
]
}
}
如何取第一本书的名称?$.store.book[0].title
| XPath | JsonPath | 说明 |
|---|---|---|
| / | $ | 文档根元素 |
| . | @ | 当前元素 |
| / | .或[] | 匹配下级元素 |
| … | N/A | 匹配上级元素,JsonPath不支持此操作符 |
| // | … | 递归匹配所有子元素 |
| * | * | 通配符,匹配下级元素 |
| @ | N/A | 匹配属性,JsonPath不支持此操作符 |
| [] | [] | 下标运算符,根据索引获取元素,XPath索引从1开始,JsonPath索引从0开始 |
| ` | ` | [,] |
| N/A | [start🔚step] | 数据切片操作,XPath不支持 |
| [] | ?() | 过滤表达式 |
| N/A | () | 脚本表达式,使用底层脚本引擎,XPath不支持 |
| () | N/A | 分组,JsonPath不支持 |



















