当前位置: 首页 > java >正文

壁纸管理 API 文档

壁纸管理 API 文档

环境:Python 3.9+Flask 2.xPyMySQL 1.x
运行:python app.py
监听:http://0.0.0.0:5000

通用响应格式

{"code": 200,       // 业务码:200 成功,201 创建成功,400 参数错误,404 资源不存在,500 服务器错误"message": "success","data": {...},     // 具体数据"total": 10        // 部分列表接口返回
}

1. 健康检查

GET /health

测试服务是否存活。

响应示例

{"status":"ok","message":"API is running"}

2. 壁纸列表

GET /api/wallpapers

返回全部壁纸,按创建时间倒序。

响应示例

{"code": 200,"message": "success","data": [{"wallpaper_id": 1,"title": "星空","category_name": "宇宙","file_url": "https://example.com/full/1.jpg","preview_url": "https://example.com/preview/1.jpg","resolution": "3840x2160","file_size": 2048000,"uploader_name": "admin","status": "active","view_count": 1024,"download_count": 256,"like_count": 128,"create_time": "2025-07-25 14:30:00"}],"total": 1
}

3. 壁纸详情

GET /api/wallpapers/int:wallpaper_id

响应示例

{"code": 200,"message": "success","data": { ...单条壁纸对象... }
}

4. 新增壁纸

POST /api/wallpapers

Body(JSON)

字段类型必填说明
titlestring壁纸标题
category_namestring分类名称
file_urlstring原图地址
preview_urlstring预览图地址
resolutionstring分辨率,如 1920x1080
file_sizeint文件大小(字节)
uploader_namestring×上传者
statusstring×状态,默认 pending

响应示例

{"code": 201,"message": "壁纸添加成功","data": { "wallpaper_id": 12 }
}

5. 修改壁纸

PUT /api/wallpapers/int:wallpaper_id

Body(JSON)
只需传要更新的字段,支持:titlecategory_namefile_urlpreview_urlresolutionfile_sizeuploader_namestatus

响应示例

{ "code": 200, "message": "壁纸更新成功" }

6. 删除壁纸

DELETE /api/wallpapers/int:wallpaper_id

响应示例

{ "code": 200, "message": "壁纸删除成功" }

7. 分类列表

GET /api/categories

响应示例

{"code": 200,"message": "success","data": ["宇宙", "动漫", "风景"]
}

8. 根据分类获取壁纸

GET /api/wallpapers/category/<category_name>

响应示例
与「壁纸列表」格式相同,仅筛选对应分类。


9. 更新统计信息

PUT /api/wallpapers/int:wallpaper_id/stats

Body(JSON)

字段类型说明
view_countint本次浏览增量
download_countint本次下载增量
like_countint本次点赞增量

可单独或组合传递;值为增量而非绝对值。

响应示例

{ "code": 200, "message": "统计信息更新成功" }

状态码说明

HTTP业务 code场景说明
200200成功
201201创建成功
400400参数缺失或格式错误
404404指定壁纸不存在
500500服务器内部异常

常见错误示例

{ "code": 400, "message": "title 是必填字段" }{ "code": 404, "message": "壁纸不存在" }

数据库表结构(参考)

CREATE TABLE wallpapers (wallpaper_id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,category_name VARCHAR(64),file_url VARCHAR(512),preview_url VARCHAR(512),resolution VARCHAR(32),file_size BIGINT,uploader_name VARCHAR(64),status ENUM('pending','active','banned') DEFAULT 'pending',view_count INT DEFAULT 0,download_count INT DEFAULT 0,like_count INT DEFAULT 0,create_time DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

可直接将以上 Markdown 保存为 API.md,放入项目根目录,即可作为接口文档使用。

http://www.xdnf.cn/news/16284.html

相关文章:

  • PPIO上线阿里旗舰推理模型Qwen3-235B-A22B-Thinking-2507
  • [特殊字符] VLA 如何“绕过”手眼标定?—— 当机器人学会了“看一眼就动手”
  • Qt 与 SQLite 嵌入式数据库开发
  • ✨ 使用 Flask 实现头像文件上传与加载功能
  • 工业缺陷检测的计算机视觉方法总结
  • 【C++ python cython】C++如何调用python,python 运行速度如何提高?
  • 工程项目管理软件评测:13款热门平台一览
  • mysql 和oracle的选择
  • JMeter每次压测前清除全部以确保异常率准确(以黑马点评为例、详细图解)
  • Springboot整合springmvc
  • 微信小程序动态切换窗口主题色
  • SpringBoot3(若依框架)集成Mybatis-Plus和单元测试功能,以及问题解决
  • 全面解析MySQL(3)——CRUD进阶与数据库约束:构建健壮数据系统的基石
  • 关于回归决策树CART生成算法中的最优化算法详解
  • Android Kotlin 协程全面指南
  • 详解软件需求中的外部接口需求
  • 线性代数 上
  • 【MAC的VSCode使用】
  • docker compose xtify-music-web
  • 【数据库】探索DBeaver:一款强大的免费开源数据库管理工具
  • HANA语法随手记:<> ‘NULL‘值问题
  • 七层网络的瑞士军刀 - 服务网格 Istio 流量管理
  • HTTP响应状态码详解
  • 快速入门Socket编程——封装一套便捷的Socket编程——Reactor
  • 关于自定义域和 GitHub Pages(Windows)
  • 基于springboot的候鸟监测管理系统
  • pycharm安装教程-PyCharm2023安装详细步骤【MAC版】【安装包自取】
  • Logstash 多表增量同步 MySQL 到 Elasticsearch:支持逻辑删除与热加载,Docker 快速部署实战
  • 【Android】桌面小组件开发
  • RAG面试内容整理-3. 向量检索原理与常用库(ANN、FAISS、Milvus 等)