ShopTRAINING/server/swagger.json
xz2000 9d7dcae1c8 一、使用Swagger UI 展示药店销售预测系统API
二、完成新增模型xgboost,cnn_bilstm_attention的训练,预测
2025-07-23 16:58:20 +08:00

465 lines
14 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"openapi": "3.0.0",
"info": {
"title": "药店销售预测系统API",
"description": "用于药店销售预测的RESTful API",
"version": "1.0.0",
"contact": {
"name": "API开发团队",
"email": "support@example.com"
}
},
"tags": [
{
"name": "数据管理",
"description": "数据上传和查询相关接口"
},
{
"name": "模型训练",
"description": "模型训练相关接口"
},
{
"name": "模型预测",
"description": "预测销售数据相关接口"
},
{
"name": "模型管理",
"description": "模型查询、导出和删除接口"
}
],
"paths": {
"/api/products": {
"get": {
"tags": ["数据管理"],
"summary": "获取所有产品列表",
"description": "返回系统中所有产品的ID和名称",
"responses": {
"200": {
"description": "成功获取产品列表",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {"type": "string"},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {"type": "string"},
"product_name": {"type": "string"}
}
}
}
}
}
}
}
},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/products/{product_id}": {
"get": {
"tags": ["数据管理"],
"summary": "获取单个产品详情",
"description": "返回指定产品ID的详细信息",
"parameters": [
{
"name": "product_id",
"in": "path",
"required": true,
"schema": {"type": "string"},
"description": "产品ID例如P001"
}
],
"responses": {
"200": {"description": "成功获取产品详情"},
"404": {"description": "产品不存在"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/products/{product_id}/sales": {
"get": {
"tags": ["数据管理"],
"summary": "获取产品销售数据",
"description": "返回指定产品在特定日期范围内的销售数据",
"parameters": [
{
"name": "product_id",
"in": "path",
"required": true,
"schema": {"type": "string"},
"description": "产品ID例如P001"
},
{
"name": "start_date",
"in": "query",
"schema": {"type": "string"},
"description": "开始日期格式为YYYY-MM-DD"
},
{
"name": "end_date",
"in": "query",
"schema": {"type": "string"},
"description": "结束日期格式为YYYY-MM-DD"
}
],
"responses": {
"200": {"description": "成功获取销售数据"},
"404": {"description": "产品不存在"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/data/upload": {
"post": {
"tags": ["数据管理"],
"summary": "上传销售数据",
"description": "上传新的销售数据文件(Excel格式)",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"responses": {
"200": {"description": "数据上传成功"},
"400": {"description": "请求错误"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/training": {
"get": {
"tags": ["模型训练"],
"summary": "获取所有训练任务列表",
"description": "返回所有正在进行、已完成或失败的训练任务",
"responses": {
"200": {"description": "成功获取任务列表"}
}
},
"post": {
"tags": ["模型训练"],
"summary": "启动模型训练任务",
"description": "为指定产品启动一个新的模型训练任务",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"product_id": {"type": "string", "example": "P001"},
"model_type": {"type": "string", "enum": ["mlstm", "transformer", "kan", "optimized_kan", "tcn", "xgboost"]},
"store_id": {"type": "string", "example": "S001"},
"epochs": {"type": "integer", "default": 50}
},
"required": ["product_id", "model_type"]
}
}
}
},
"responses": {
"200": {"description": "训练任务已启动"},
"400": {"description": "请求错误"}
}
}
},
"/api/training/{task_id}": {
"get": {
"tags": ["模型训练"],
"summary": "查询训练任务状态",
"description": "获取特定训练任务的当前状态和详情",
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {"type": "string"},
"description": "训练任务ID"
}
],
"responses": {
"200": {"description": "成功获取任务状态"},
"404": {"description": "任务不存在"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/prediction": {
"post": {
"tags": ["模型预测"],
"summary": "使用模型进行预测",
"description": "使用指定模型预测未来销售数据",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"product_id": {"type": "string"},
"model_type": {"type": "string", "enum": ["mlstm", "transformer", "kan", "optimized_kan", "tcn"]},
"store_id": {"type": "string"},
"version": {"type": "string"},
"future_days": {"type": "integer"},
"include_visualization": {"type": "boolean"},
"start_date": {"type": "string"}
},
"required": ["product_id", "model_type"]
}
}
}
},
"responses": {
"200": {"description": "预测成功"},
"400": {"description": "请求错误"},
"404": {"description": "产品或模型不存在"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/prediction/compare": {
"post": {
"tags": ["模型预测"],
"summary": "比较不同模型预测结果",
"description": "比较不同模型对同一产品的预测结果",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"product_id": {"type": "string"},
"model_types": {"type": "array", "items": {"type": "string"}},
"versions": {"type": "array", "items": {"type": "string"}},
"include_visualization": {"type": "boolean"}
},
"required": ["product_id", "model_types"]
}
}
}
},
"responses": {
"200": {"description": "比较成功"},
"400": {"description": "请求错误"},
"404": {"description": "产品或模型不存在"},
"500": {"description": "服务器内部错误"}
}
}
},
"/api/prediction/history": {
"get": {
"tags": ["模型预测"],
"summary": "获取历史预测记录",
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/prediction/history/{prediction_id}": {
"get": {
"tags": ["模型预测"],
"summary": "获取特定预测记录的详情",
"parameters": [
{
"name": "prediction_id",
"in": "path",
"required": true,
"schema": {"type": "string"}
}
],
"responses": {
"200": {"description": "获取成功"},
"404": {"description": "记录不存在"}
}
},
"delete": {
"tags": ["模型预测"],
"summary": "删除预测记录",
"parameters": [
{
"name": "prediction_id",
"in": "path",
"required": true,
"schema": {"type": "string"}
}
],
"responses": {
"200": {"description": "删除成功"},
"404": {"description": "记录不存在"}
}
}
},
"/api/models": {
"get": {
"tags": ["模型管理"],
"summary": "获取模型列表",
"parameters": [
{"name": "product_id", "in": "query", "schema": {"type": "string"}},
{"name": "model_type", "in": "query", "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/models/{model_id}": {
"get": {
"tags": ["模型管理"],
"summary": "获取模型详情",
"parameters": [
{"name": "model_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"},
"404": {"description": "模型不存在"}
}
},
"delete": {
"tags": ["模型管理"],
"summary": "删除模型",
"parameters": [
{"name": "model_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "删除成功"},
"404": {"description": "模型不存在"}
}
}
},
"/api/models/{model_id}/export": {
"get": {
"tags": ["模型管理"],
"summary": "导出模型",
"parameters": [
{"name": "model_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "模型文件下载"},
"404": {"description": "模型不存在"}
}
}
},
"/api/model_types": {
"get": {
"tags": ["模型管理"],
"summary": "获取系统支持的所有模型类型",
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/models/{product_id}/{model_type}/versions": {
"get": {
"tags": ["模型管理"],
"summary": "获取模型版本列表",
"parameters": [
{"name": "product_id", "in": "path", "required": true, "schema": {"type": "string"}},
{"name": "model_type", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/stores": {
"get": {
"tags": ["数据管理"],
"summary": "获取所有店铺列表",
"responses": {
"200": {"description": "获取成功"}
}
},
"post": {
"tags": ["数据管理"],
"summary": "创建新店铺",
"responses": {
"200": {"description": "创建成功"}
}
}
},
"/api/stores/{store_id}": {
"get": {
"tags": ["数据管理"],
"summary": "获取单个店铺信息",
"parameters": [
{"name": "store_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"},
"404": {"description": "店铺不存在"}
}
},
"put": {
"tags": ["数据管理"],
"summary": "更新店铺信息",
"parameters": [
{"name": "store_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "更新成功"},
"404": {"description": "店铺不存在"}
}
},
"delete": {
"tags": ["数据管理"],
"summary": "删除店铺",
"parameters": [
{"name": "store_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "删除成功"},
"404": {"description": "店铺不存在"}
}
}
},
"/api/stores/{store_id}/products": {
"get": {
"tags": ["数据管理"],
"summary": "获取店铺的产品列表",
"parameters": [
{"name": "store_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/stores/{store_id}/statistics": {
"get": {
"tags": ["数据管理"],
"summary": "获取店铺销售统计信息",
"parameters": [
{"name": "store_id", "in": "path", "required": true, "schema": {"type": "string"}}
],
"responses": {
"200": {"description": "获取成功"}
}
}
},
"/api/sales/data": {
"get": {
"tags": ["数据管理"],
"summary": "获取销售数据列表",
"responses": {
"200": {"description": "获取成功"}
}
}
}
}
}