1.创建项目目录
选择一个目录,并在该目录下创建一个新项目文件夹
mkdir rest_api_project
cd rest_api_project
2.创建虚拟环境
conda create -n api
conda activate api
3. 安装必要的依赖库
REST API调用通常需要HTTP库:
pip install requests
4.创建主Python文件
在项目目录中创建一个主Python文件,命名为main.py:
touch main.py # macOS/Linux
# or
type nul > main.py # Windows
打开main.py,并在其中编写调用REST API的代码。比如一个简单的POST请求:
import requests
def send_post_request():
url = "https://jsonplaceholder.typicode.com/posts" # 测试API
headers = {
"Content-Type": "application/json"
}
payload = {
"title": "foo",
"body": "bar",
"userId": 1
}
# 发送POST请求
response = requests.post(url, json=payload, headers=headers)
# 打印响应结果
if response.status_code == 201:
print("POST请求成功:", response.json())
else:
print(f"POST请求失败,状态码: {response.status_code}, 响应内容: {response.text}")
if __name__ == "__main__":
send_post_request()
5.运行代码
python3 main.py
应该会看到类似以下输出的响应结果:
POST请求成功: {'id': 101, 'title': 'foo', 'body': 'bar', 'userId': 1}
6. 扩展API调用功能
现在可以在main.py中扩展功能,支持更多请求类型如GET、PUT、DELETE,并处理响应和错误。比如,增加一个GET请求的例子:
def send_get_request():
url = "https://jsonplaceholder.typicode.com/posts/1" # 获取某个文章详情的API
response = requests.get(url)
if response.status_code == 200:
print("GET请求成功:", response.json())
else:
print(f"GET请求失败,状态码: {response.status_code}, 响应内容: {response.text}")
7.处理错误和异常
可以添加错误处理逻辑,以便更好地应对请求失败的情况:
def send_post_request_with_error_handling():
url = "https://jsonplaceholder.typicode.com/posts"
headers = {
"Content-Type": "application/json"
}
payload = {
"title": "foo",
"body": "bar",
"userId": 1
}
try:
response = requests.post(url, json=payload, headers=headers)
response.raise_for_status() # 如果状态码不是200,会抛出HTTPError异常
print("POST请求成功:", response.json())
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except Exception as err:
print(f"其他错误发生: {err}")
8.使用环境变量存储敏感信息
在实际项目中,通常需要使用API密钥或Token进行身份验证。不要直接把这些信息写在代码中,使用环境变量来存储。
安装python-dotenv库:
pip install python-dotenv
创建.env文件: 在项目根目录创建.env文件,里面存储你的API密钥等敏感信息:
API_KEY=your_api_key_here
在代码中读取环境变量: 在main.py中使用dotenv读取API密钥:
from dotenv import load_dotenv
import os
import requests
load_dotenv()
api_key = os.getenv('API_KEY')
def send_post_request():
url = "https://api.example.com/data"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"param1": "value1",
"param2": "value2"
}
response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
print("POST请求成功:", response.json())
else:
print(f"POST请求失败,状态码: {response.status_code}, 响应内容: {response.text}")
9.测试与调试
在完成基本功能后,建议使用Postman或其他类似工具来测试你的API调用。你可以调试、模拟不同参数、查看不同的响应结果。
10.发布或集成项目
当你完成本地开发和测试后,你可以:
将项目部署到云服务器(如AWS、Google Cloud)上。
集成到现有的前端或移动应用中。