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

如何使用JUnit/REST Assured从API响应提取ID值并存入变量?

没问题!我来给你几个实用的方案,不管你用什么技术栈都能轻松把URL里的ID提取出来存到变量里~

方案1:Python(用requests + urllib.parse)

这是后端/脚本场景里最常用的方式,代码清晰还不容易出错:

import requests
from urllib.parse import urlparse, parse_qs

# 发送API请求获取响应
response = requests.get("你的API端点URL")
data = response.json()

# 提取第一个item的url
item_url = data["items"][0]["url"]

# 解析URL,提取id参数
parsed_url = urlparse(item_url)
id_value = parse_qs(parsed_url.query)["id"][0]

# 现在id_value就是你要的19909090啦,可以直接用或者存起来
print(id_value)

解释: 用urlparse拆分URL结构,parse_qs把查询参数转成字典,这样直接取id对应的第一个值就搞定,不用写容易出错的正则表达式。

方案2:JavaScript(浏览器/Node.js通用)

不管是前端页面还是Node脚本,都可以用原生的URL对象来处理:

// 假设你已经拿到了API响应数据(比如用fetch或者axios请求后)
const apiResponse = {
  "items": [
    {
      "url": "http://www.localhost.com:8080/user?id=19909090"
    }
  ]
};

// 提取URL并创建URL对象
const url = new URL(apiResponse.items[0].url);
// 获取id参数
const idValue = url.searchParams.get("id");

// 现在idValue就是19909090,直接用就行
console.log(idValue);

解释: 原生URL对象自带的searchParams方法可以直接提取查询参数,兼容性好还省心。

方案3:命令行快速测试(curl + jq)

如果只是想在终端里快速提取ID,用curl请求API,再用jq处理:

# 发送请求并提取ID
id_value=$(curl -s "你的API端点URL" | jq -r '.items[0].url' | awk -F'id=' '{print $2}')

# 打印结果
echo $id_value

解释: 先用jq把URL提取出来,再用awk以id=为分隔符取后面的部分,一步到位拿到ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:44:12