666 lines
13 KiB
Markdown
666 lines
13 KiB
Markdown
![]() |
# 药店销售预测系统 API 详细参考文档
|
|||
|
|
|||
|
## 概述
|
|||
|
|
|||
|
本文档详细描述了药店销售预测系统中所有API端点的完整规范,包括请求格式、响应格式、参数说明和示例。此文档旨在防止意外修改破坏API设计,确保API的一致性和稳定性。
|
|||
|
|
|||
|
**API基础信息:**
|
|||
|
- 基础URL:`http://localhost:5000`
|
|||
|
- 协议:HTTP/HTTPS
|
|||
|
- 格式:JSON
|
|||
|
- 认证:暂无(内部系统)
|
|||
|
- API文档:`/swagger/`
|
|||
|
|
|||
|
## API端点分类
|
|||
|
|
|||
|
### 1. 系统导航API
|
|||
|
|
|||
|
#### 1.1 根路由
|
|||
|
```http
|
|||
|
GET /
|
|||
|
```
|
|||
|
**功能:** 重定向到UI界面
|
|||
|
**响应:** 302重定向到 `/ui/`
|
|||
|
|
|||
|
#### 1.2 Swagger文档
|
|||
|
```http
|
|||
|
GET /swagger
|
|||
|
```
|
|||
|
**功能:** 重定向到Swagger UI文档页面
|
|||
|
**响应:** 302重定向到 `/swagger/`
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 2. 数据管理API
|
|||
|
|
|||
|
#### 2.1 获取所有产品列表
|
|||
|
```http
|
|||
|
GET /api/products
|
|||
|
```
|
|||
|
**功能:** 返回系统中所有产品的ID和名称
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒"
|
|||
|
},
|
|||
|
{
|
|||
|
"product_id": "P002",
|
|||
|
"product_name": "布洛芬片"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**错误响应:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "error",
|
|||
|
"message": "错误详细信息"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 2.2 获取单个产品详情
|
|||
|
```http
|
|||
|
GET /api/products/{product_id}
|
|||
|
```
|
|||
|
**功能:** 返回指定产品ID的详细信息
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `product_id` (string, required): 产品ID,例如P001
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"data_points": 365,
|
|||
|
"date_range": {
|
|||
|
"start": "2023-01-01",
|
|||
|
"end": "2023-12-31"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**错误响应:**
|
|||
|
- 404: 产品不存在
|
|||
|
- 500: 服务器内部错误
|
|||
|
|
|||
|
#### 2.3 获取产品销售数据
|
|||
|
```http
|
|||
|
GET /api/products/{product_id}/sales
|
|||
|
```
|
|||
|
**功能:** 返回指定产品在特定日期范围内的销售数据
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `product_id` (string, required): 产品ID
|
|||
|
|
|||
|
**查询参数:**
|
|||
|
- `start_date` (string, optional): 开始日期,格式YYYY-MM-DD
|
|||
|
- `end_date` (string, optional): 结束日期,格式YYYY-MM-DD
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"date": "2023-01-01",
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"sales": 125,
|
|||
|
"price": 15.8
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 2.4 上传销售数据
|
|||
|
```http
|
|||
|
POST /api/data/upload
|
|||
|
```
|
|||
|
**功能:** 上传新的销售数据文件(Excel格式)
|
|||
|
|
|||
|
**请求类型:** multipart/form-data
|
|||
|
|
|||
|
**参数:**
|
|||
|
- `file` (file, required): Excel文件(.xlsx),包含销售数据
|
|||
|
|
|||
|
**必要字段:**
|
|||
|
- date: 日期
|
|||
|
- product_id: 产品ID
|
|||
|
- product_name: 产品名称
|
|||
|
- sales: 销售量
|
|||
|
- price: 价格
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"message": "数据上传成功",
|
|||
|
"data": {
|
|||
|
"products": 10,
|
|||
|
"rows": 3650
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 3. 模型训练API
|
|||
|
|
|||
|
#### 3.1 获取所有训练任务列表
|
|||
|
```http
|
|||
|
GET /api/training
|
|||
|
```
|
|||
|
**功能:** 返回所有正在进行、已完成或失败的训练任务
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"task_id": "uuid-string",
|
|||
|
"product_id": "P001",
|
|||
|
"model_type": "mlstm",
|
|||
|
"status": "completed",
|
|||
|
"start_time": "2024-01-01T10:00:00",
|
|||
|
"metrics": {
|
|||
|
"RMSE": 0.045,
|
|||
|
"MAE": 0.032,
|
|||
|
"R2": 0.89,
|
|||
|
"MAPE": 0.078
|
|||
|
},
|
|||
|
"error": null,
|
|||
|
"model_path": "/path/to/model.pth"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 3.2 启动模型训练任务
|
|||
|
```http
|
|||
|
POST /api/training
|
|||
|
```
|
|||
|
**功能:** 为指定产品启动一个新的模型训练任务
|
|||
|
|
|||
|
**请求体:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"product_id": "P001",
|
|||
|
"model_type": "mlstm",
|
|||
|
"epochs": 50
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**参数说明:**
|
|||
|
- `product_id` (string, required): 产品ID,例如P001
|
|||
|
- `model_type` (string, required): 模型类型,可选值:mlstm, transformer, kan, optimized_kan, tcn
|
|||
|
- `epochs` (integer, optional): 训练轮次,默认50
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"message": "模型训练已开始",
|
|||
|
"task_id": "uuid-string"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 3.3 查询训练任务状态
|
|||
|
```http
|
|||
|
GET /api/training/{task_id}
|
|||
|
```
|
|||
|
**功能:** 获取特定训练任务的当前状态和详情
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `task_id` (string, required): 训练任务ID
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"product_id": "P001",
|
|||
|
"model_type": "mlstm",
|
|||
|
"parameters": {
|
|||
|
"epochs": 50
|
|||
|
},
|
|||
|
"status": "completed",
|
|||
|
"created_at": "2024-01-01T10:00:00",
|
|||
|
"model_path": "/path/to/model.pth",
|
|||
|
"metrics": {
|
|||
|
"RMSE": 0.045,
|
|||
|
"MAE": 0.032,
|
|||
|
"R2": 0.89,
|
|||
|
"MAPE": 0.078
|
|||
|
},
|
|||
|
"model_details_url": "/api/models/mlstm_P001"
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4. 模型预测API
|
|||
|
|
|||
|
#### 4.1 使用模型进行预测
|
|||
|
```http
|
|||
|
POST /api/prediction
|
|||
|
```
|
|||
|
**功能:** 使用指定模型预测未来销售数据
|
|||
|
|
|||
|
**请求体:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"product_id": "P001",
|
|||
|
"model_type": "mlstm",
|
|||
|
"future_days": 7,
|
|||
|
"include_visualization": true,
|
|||
|
"start_date": "2024-01-01"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**参数说明:**
|
|||
|
- `product_id` (string, required): 产品ID
|
|||
|
- `model_type` (string, required): 模型类型,可选值:mlstm, transformer, kan, optimized_kan, tcn
|
|||
|
- `version` (string, optional): 模型版本
|
|||
|
- `future_days` (integer, optional): 预测天数,默认7
|
|||
|
- `include_visualization` (boolean, optional): 是否包含可视化,默认false
|
|||
|
- `start_date` (string, optional): 预测起始日期,格式YYYY-MM-DD
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"model_type": "mlstm",
|
|||
|
"predictions": [
|
|||
|
{
|
|||
|
"date": "2024-01-08",
|
|||
|
"predicted_sales": 125.5,
|
|||
|
"confidence_interval": [120.2, 130.8]
|
|||
|
}
|
|||
|
],
|
|||
|
"visualization": "data:image/png;base64,..."
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 4.2 比较不同模型预测结果
|
|||
|
```http
|
|||
|
POST /api/prediction/compare
|
|||
|
```
|
|||
|
**功能:** 比较不同模型对同一产品的预测结果
|
|||
|
|
|||
|
**请求体:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"product_id": "P001",
|
|||
|
"model_types": ["mlstm", "transformer", "kan"],
|
|||
|
"versions": ["v1", "v1", "v1"],
|
|||
|
"include_visualization": true
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**参数说明:**
|
|||
|
- `product_id` (string, required): 产品ID
|
|||
|
- `model_types` (array, required): 模型类型列表
|
|||
|
- `versions` (array, optional): 模型版本列表
|
|||
|
- `include_visualization` (boolean, optional): 是否包含可视化
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"model_types": ["mlstm", "transformer", "kan"],
|
|||
|
"comparison": [
|
|||
|
{
|
|||
|
"model_type": "mlstm",
|
|||
|
"predictions": [...],
|
|||
|
"metrics": {...}
|
|||
|
}
|
|||
|
],
|
|||
|
"visualization": "data:image/png;base64,..."
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 4.3 分析预测结果
|
|||
|
```http
|
|||
|
POST /api/prediction/analyze
|
|||
|
```
|
|||
|
**功能:** 对预测结果进行深度分析
|
|||
|
|
|||
|
**请求体:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"prediction_data": {...},
|
|||
|
"analysis_type": "trend"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 4.4 获取预测历史记录
|
|||
|
```http
|
|||
|
GET /api/prediction/history
|
|||
|
```
|
|||
|
**功能:** 获取预测历史记录列表
|
|||
|
|
|||
|
**查询参数:**
|
|||
|
- `product_id` (string, optional): 按产品ID筛选
|
|||
|
- `model_type` (string, optional): 按模型类型筛选
|
|||
|
- `limit` (integer, optional): 限制返回数量
|
|||
|
- `offset` (integer, optional): 分页偏移量
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": "prediction-uuid",
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"model_type": "mlstm",
|
|||
|
"created_at": "2024-01-01T10:00:00",
|
|||
|
"future_days": 7,
|
|||
|
"file_path": "/path/to/prediction.json"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 4.5 获取特定预测详情
|
|||
|
```http
|
|||
|
GET /api/prediction/history/{prediction_id}
|
|||
|
```
|
|||
|
**功能:** 获取特定预测的详细信息
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `prediction_id` (string, required): 预测记录ID
|
|||
|
|
|||
|
#### 4.6 删除预测记录
|
|||
|
```http
|
|||
|
DELETE /api/prediction/history/{prediction_id}
|
|||
|
```
|
|||
|
**功能:** 删除特定的预测记录
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `prediction_id` (string, required): 预测记录ID
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 5. 模型管理API
|
|||
|
|
|||
|
#### 5.1 获取模型列表
|
|||
|
```http
|
|||
|
GET /api/models
|
|||
|
```
|
|||
|
**功能:** 获取系统中的模型列表,可按产品ID和模型类型筛选
|
|||
|
|
|||
|
**查询参数:**
|
|||
|
- `product_id` (string, optional): 按产品ID筛选
|
|||
|
- `model_type` (string, optional): 按模型类型筛选
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"model_id": "mlstm_P001",
|
|||
|
"product_id": "P001",
|
|||
|
"product_name": "感冒灵颗粒",
|
|||
|
"model_type": "mlstm",
|
|||
|
"created_at": "2024-01-01T10:00:00",
|
|||
|
"metrics": {
|
|||
|
"RMSE": 0.045,
|
|||
|
"MAE": 0.032,
|
|||
|
"R2": 0.89
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 5.2 获取模型详情
|
|||
|
```http
|
|||
|
GET /api/models/{model_id}
|
|||
|
```
|
|||
|
**功能:** 获取特定模型的详细信息
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `model_id` (string, required): 模型ID,格式为{product_id}_{model_type}_v{version}
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"product_id": "P001",
|
|||
|
"model_type": "mlstm",
|
|||
|
"version": "v1",
|
|||
|
"created_at": "2024-01-01T10:00:00",
|
|||
|
"file_path": "/path/to/model.pth",
|
|||
|
"file_size": "2.5MB",
|
|||
|
"features": ["sales", "price", "date"],
|
|||
|
"look_back": 30,
|
|||
|
"T": 7,
|
|||
|
"metrics": {
|
|||
|
"RMSE": 0.045,
|
|||
|
"MAE": 0.032,
|
|||
|
"R2": 0.89,
|
|||
|
"MAPE": 0.078
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 5.3 删除模型
|
|||
|
```http
|
|||
|
DELETE /api/models/{model_id}
|
|||
|
```
|
|||
|
**功能:** 删除特定模型
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `model_id` (string, required): 模型ID
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"message": "模型删除成功"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 5.4 导出模型
|
|||
|
```http
|
|||
|
GET /api/models/{model_id}/export
|
|||
|
```
|
|||
|
**功能:** 导出特定模型文件
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `model_id` (string, required): 模型ID
|
|||
|
|
|||
|
**响应:** 模型文件下载 (application/octet-stream)
|
|||
|
|
|||
|
#### 5.5 获取模型详情(兼容格式)
|
|||
|
```http
|
|||
|
GET /api/models/{model_type}/{product_id}/details
|
|||
|
```
|
|||
|
**功能:** 获取特定模型的详细信息(使用模型类型和产品ID)
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `model_type` (string, required): 模型类型,例如mlstm, kan, transformer, tcn, optimized_kan
|
|||
|
- `product_id` (string, required): 产品ID
|
|||
|
|
|||
|
#### 5.6 分析模型性能指标
|
|||
|
```http
|
|||
|
POST /api/models/analyze-metrics
|
|||
|
```
|
|||
|
**功能:** 根据模型的评估指标进行性能分析
|
|||
|
|
|||
|
**请求体:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"RMSE": 0.045,
|
|||
|
"MAE": 0.032,
|
|||
|
"R2": 0.89,
|
|||
|
"MAPE": 0.078
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": {
|
|||
|
"overall_score": 0.85,
|
|||
|
"performance_level": "excellent",
|
|||
|
"recommendations": [
|
|||
|
"模型表现优秀,可以用于生产环境",
|
|||
|
"R2值较高,模型拟合效果良好"
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
#### 5.7 获取系统支持的模型类型
|
|||
|
```http
|
|||
|
GET /api/model_types
|
|||
|
```
|
|||
|
**功能:** 返回系统中支持的所有模型类型及其描述
|
|||
|
|
|||
|
**响应示例:**
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": "mlstm",
|
|||
|
"name": "mLSTM",
|
|||
|
"description": "矩阵长短期记忆网络,适合处理多变量时序数据",
|
|||
|
"tag_type": "primary"
|
|||
|
},
|
|||
|
{
|
|||
|
"id": "transformer",
|
|||
|
"name": "Transformer",
|
|||
|
"description": "基于注意力机制的序列模型,适合捕捉长期依赖关系",
|
|||
|
"tag_type": "success"
|
|||
|
},
|
|||
|
{
|
|||
|
"id": "kan",
|
|||
|
"name": "KAN",
|
|||
|
"description": "Kolmogorov-Arnold网络,能够逼近任意连续函数",
|
|||
|
"tag_type": "warning"
|
|||
|
},
|
|||
|
{
|
|||
|
"id": "optimized_kan",
|
|||
|
"name": "优化版KAN",
|
|||
|
"description": "经过优化的KAN模型,提供更高的预测精度和训练效率",
|
|||
|
"tag_type": "info"
|
|||
|
},
|
|||
|
{
|
|||
|
"id": "tcn",
|
|||
|
"name": "TCN",
|
|||
|
"description": "时间卷积网络,适合处理长序列和平行计算",
|
|||
|
"tag_type": "danger"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 6. 静态资源API
|
|||
|
|
|||
|
#### 6.1 获取图表文件
|
|||
|
```http
|
|||
|
GET /api/plots/{filename}
|
|||
|
```
|
|||
|
**功能:** 提供图表文件访问服务
|
|||
|
|
|||
|
**路径参数:**
|
|||
|
- `filename` (string, required): 文件名
|
|||
|
|
|||
|
**响应:** 图片文件
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 通用响应格式
|
|||
|
|
|||
|
### 成功响应
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"data": { ... }
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 错误响应
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "error",
|
|||
|
"message": "错误描述",
|
|||
|
"error": "详细错误信息"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## HTTP状态码
|
|||
|
|
|||
|
- `200 OK`: 请求成功
|
|||
|
- `400 Bad Request`: 请求参数错误
|
|||
|
- `404 Not Found`: 资源不存在
|
|||
|
- `500 Internal Server Error`: 服务器内部错误
|
|||
|
|
|||
|
## 数据类型说明
|
|||
|
|
|||
|
### 模型类型枚举
|
|||
|
- `mlstm`: 矩阵长短期记忆网络
|
|||
|
- `transformer`: Transformer模型
|
|||
|
- `kan`: KAN网络
|
|||
|
- `optimized_kan`: 优化版KAN
|
|||
|
- `tcn`: 时间卷积网络
|
|||
|
|
|||
|
### 任务状态枚举
|
|||
|
- `pending`: 等待中
|
|||
|
- `running`: 运行中
|
|||
|
- `completed`: 已完成
|
|||
|
- `failed`: 失败
|
|||
|
|
|||
|
### 评估指标说明
|
|||
|
- `RMSE`: 均方根误差
|
|||
|
- `MAE`: 平均绝对误差
|
|||
|
- `R2`: 决定系数
|
|||
|
- `MAPE`: 平均绝对百分比误差
|
|||
|
|
|||
|
## 注意事项
|
|||
|
|
|||
|
1. **API稳定性**: 此API设计已确定,不建议随意修改端点路径、参数名称或响应格式
|
|||
|
2. **向后兼容**: 新版本API应保持向后兼容,避免破坏现有客户端
|
|||
|
3. **错误处理**: 所有端点都应包含统一的错误处理机制
|
|||
|
4. **参数验证**: 必须对所有输入参数进行验证
|
|||
|
5. **安全考虑**: 对文件上传和模型操作进行安全检查
|
|||
|
6. **性能优化**: 大数据量请求应考虑分页和缓存机制
|
|||
|
|
|||
|
## 扩展API开发规范
|
|||
|
|
|||
|
在添加新的API端点时,请遵循以下规范:
|
|||
|
|
|||
|
1. **路径命名**: 使用RESTful风格,动词用HTTP方法表示
|
|||
|
2. **参数命名**: 使用snake_case命名风格
|
|||
|
3. **响应格式**: 统一使用本文档定义的响应格式
|
|||
|
4. **错误代码**: 使用标准HTTP状态码
|
|||
|
5. **文档更新**: 新API必须更新此文档
|