# API 参考 ## 客户端 ```python class Client(api_key=None, timeout=30, retry=True) ``` 与 API 交互的主要客户端类。 **参数:** - `api_key` (str): 用于身份验证的 API 密钥 - `timeout` (int): 请求超时时间(秒) - `retry` (bool): 在失败时启用自动重试 ### 方法 #### get(endpoint, params=None) 执行 GET 请求。 **参数:** - `endpoint` (str): API 端点路径 - `params` (dict): 查询参数 **返回:** 响应对象 **异常:** 如果 API 返回错误,则抛出 APIError ```python response = client.get('/users/123') ``` #### post(endpoint, data=None) 执行 POST 请求。 **参数:** - `endpoint` (str): API 端点路径 - `data` (dict): 请求体数据 **返回:** 响应对象 ```python data = {'name': 'John', 'email': 'john@example.com'} response = client.post('/users', data=data) ``` #### put(endpoint, data=None) 执行 PUT 请求。 **参数:** - `endpoint` (str): API 端点路径 - `data` (dict): 请求体数据 **返回:** 响应对象 ```python updates = {'name': 'Jane'} response = client.put('/users/123', data=updates) ``` #### delete(endpoint) 执行 DELETE 请求。 **参数:** - `endpoint` (str): API 端点路径 **返回:** 响应对象 ```python response = client.delete('/users/123') ``` ## 响应 表示 API 响应。 **属性:** - `status_code` (int): HTTP 状态码 - `data` (dict): 响应体数据 - `headers` (dict): 响应头 ### 方法 #### json() 将响应解析为 JSON。 **返回:** 解析后的 JSON 数据 ## 异常 ### APIError 当 API 返回错误时触发。 ### NetworkError 当发生网络错误时触发。 ### AuthenticationError 当身份验证失败时触发。 ### RateLimitError 当超过速率限制时触发。 ## 常量 ### API_BASE_URL API 请求的基本 URL。 ```python API_BASE_URL = 'https://api.example.com' ``` ### API_VERSION 当前 API 版本。 ```python API_VERSION = 'v1' ``` ## 示例 ### 初始化 ```python from your_package import Client client = Client(api_key='your-key') ``` ### 获取资源 ```python response = client.get('/users/123') if response.status_code == 200: print(response.data) ``` ### 创建资源 ```python data = {'name': 'John', 'email': 'john@example.com'} response = client.post('/users', data=data) ``` ### 错误处理 ```python try: response = client.get('/users/123') except APIError as e: print(f"错误:{e}") ```