2.4 KiB
2.4 KiB
API接口大全数据库 Spec
Why
当前"API接口大全"页面的数据是硬编码在组件中的静态数据,无法通过后台动态管理。需要创建数据库表和API接口来实现动态配置。
What Changes
- 创建新的Django app
apidirectory - 创建数据库模型:ApiCategory(分类)、ApiItem(API接口)、ApiFavorite(收藏)
- 创建序列化器和API视图
- 修改前端Tools.tsx从API动态获取数据
Impact
- Affected specs: API接口大全页面
- Affected code:
- 新增:
chunyu_project/apidirectory/(整个新app) chunyu_project/apidirectory/models.pychunyu_project/apidirectory/serializers.pychunyu_project/apidirectory/views.pychunyu_project/apidirectory/urls.pychunyu_project/chunyu_project/urls.py(添加路由)chunyu_project/chunyu_project/settings.py(注册app)chunyu_project_react/src/utils/request.ts(添加API函数)chunyu_project_react/src/pages/Tools/Tools.tsx(改为动态加载)
- 新增:
ADDED Requirements
Requirement: API分类管理
系统SHALL提供API分类的增删改查功能。
Scenario: 获取分类列表
- WHEN 调用 GET /apidirectory/categories/
- THEN 返回所有分类及其关联的API数量
Requirement: API接口管理
系统SHALL提供API接口的增删改查功能。
Scenario: 获取API列表
- WHEN 调用 GET /apidirectory/items/
- THEN 返回API列表,支持分类筛选、搜索、排序
Scenario: 获取API详情
- WHEN 调用 GET /apidirectory/items/{id}/
- THEN 返回单个API的详细信息
Requirement: API收藏功能
系统SHALL支持用户收藏API接口。
Scenario: 收藏API
- WHEN 已登录用户 POST /apidirectory/items/{id}/favorite/
- THEN 切换收藏状态并返回结果
Requirement: 前端动态加载
系统SHALL从后端API动态获取数据渲染页面。
Scenario: 页面加载
- WHEN 用户访问API接口大全页面
- THEN 显示加载状态,从API获取数据后渲染
MODIFIED Requirements
Requirement: Tools.tsx页面
现有的Tools.tsx页面SHALL从静态数据改为动态加载。
Scenario: 数据获取
- WHEN 页面加载
- THEN 调用API获取分类和工具数据
Scenario: 分类筛选
- WHEN 用户点击分类Tab
- THEN 根据分类ID过滤API列表
REMOVED Requirements
无