python之简单初始接口自动化传参
Python写一段代码,实现两个接口之间的调用,其中第一个接口的返回值要作为参数传给第二个接口。好的,首先我需要明确用户的需求,是要演示如何从一个API获取数据,然后使用该数据作为另一个API的请求参数
代码步骤
- 导入requests库。
- 定义第一个API的URL。
- 发送GET或POST请求到第一个接口。
- 检查响应是否成功。
- 解析响应数据,获取需要的参数。
- 定义第二个API的URL或请求体,使用上一步的参数。
- 发送第二个请求。
- 处理第二个响应。
import requests
def call_first_api():
# 示例第一个接口(替换成实际接口地址)
first_api_url = "https://jsonplaceholder.typicode.com/posts/1"
try:
response = requests.get(first_api_url)
response.raise_for_status() # 检查HTTP错误
data = response.json()
user_id = data.get("userId") # 提取第一个接口返回的 userId
if user_id is not None:
return user_id
else:
print("第一个接口未返回 userId")
return None
except requests.exceptions.RequestException as e:
print(f"第一个接口请求失败: {e}")
return None
def call_second_api(user_id):
# 示例第二个接口(替换成实际接口地址)
second_api_url = "https://jsonplaceholder.typicode.com/posts"
try:
params = {"userId": user_id} # 使用第一个接口的返回值作为参数
response = requests.get(second_api_url, params=params)
response.raise_for_status()
return response.json() # 返回第二个接口的结果
except requests.exceptions.RequestException as e:
print(f"第二个接口请求失败: {e}")
return None
# 主程序
if __name__ == "__main__":
# 1. 调用第一个接口获取参数
user_id = call_first_api()
if user_id:
# 2. 将参数传递给第二个接口
result = call_second_api(user_id)
if result:
print("第二个接口返回数据:")
print(result[:2]) # 仅打印前两条结果节省空间
代码说明
分离函数设计
call_first_api():调用第一个接口并提取关键参数 userId
call_second_api(user_id):接收参数调用第二个接口
关键步骤
使用 response.json() 解析接口返回的 JSON 数据
通过 params 或 json 参数传递值给第二个接口
包含基本的错误处理(网络错误、HTTP状态码异常)
示例接口
使用 JSONPlaceholder 的模拟接口
第一个接口获取帖子数据,提取 userId
第二个接口通过 userId 查询用户的所有帖子