# my-api-admin **Repository Path**: pengjielee/my-api-admin ## Basic Information - **Project Name**: my-api-admin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-17 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # My API Admin 一个基于Node.js和Express的通用API管理系统,可以连接MySQL数据库,动态生成表的CRUD接口。 ## 功能特点 - 连接MySQL数据源,选择库和表 - 自动生成表的增/删/改/查接口 - 列表接口支持分页查询 - 支持自定义接口返回格式 - 支持动态注册表的API路由 - 自动将数据库字段名转换为驼峰命名风格 - 自动处理日期字段,确保返回标准的ISO格式 ## 技术栈 - Node.js - Express - MySQL2 - Dotenv (环境变量管理) - Cors (跨域支持) - Body-parser (请求体解析) ## 安装和使用 ### 前提条件 - Node.js (v14+) - MySQL 数据库 ### 安装步骤 1. 克隆项目 ```bash git clone cd my-api-admin ``` 2. 安装依赖 ```bash npm install ``` 3. 配置环境变量 复制 `.env.example` 文件为 `.env`,并根据你的数据库配置修改: ``` # 数据库配置 DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=your_database DB_PORT=3306 # 服务器配置 PORT=3000 ``` 4. 启动服务 ```bash # 开发模式(使用nodemon自动重启) npm run dev # 生产模式 npm start ``` ## API 使用说明 ### 1. 获取数据库中的所有表 ``` GET /api/tables ``` ### 2. 注册表的CRUD路由 ``` POST /api/register-table ``` 请求体: ```json { "tableName": "users", "routePrefix": "users" // 可选,默认与tableName相同 } ``` ### 3. 使用生成的CRUD接口 注册表后,将自动生成以下接口: > 注意: > 1. 所有API请求和响应中的字段名都使用驼峰命名风格(如:userName, createdAt),而不是数据库中的下划线命名风格(如:user_name, created_at)。系统会自动进行转换。 > 2. 日期字段(如:createdAt, updatedAt)会自动转换为标准的ISO格式字符串(如:"2023-01-01T12:00:00.000Z")。 - `GET /api/{tableName}` - 获取列表(支持分页) - `GET /api/{tableName}/:id` - 获取单条记录 - `POST /api/{tableName}` - 创建记录 - `PUT /api/{tableName}/:id` - 更新记录 - `DELETE /api/{tableName}/:id` - 删除记录 - `POST /api/{tableName}/batch-delete` - 批量删除记录 - `GET /api/{tableName}/structure` - 获取表结构 #### 分页查询参数 ``` GET /api/{tableName}?page=1&pageSize=10&orderBy=id&orderDir=DESC ``` ## 自定义响应格式 所有API响应都遵循统一的格式: ```json { "code": 200, "message": "操作成功", "data": null, "timeStamp": 1621234567890 } ``` 分页查询的响应格式: ```json { "code": 200, "message": "查询成功", "data": { "list": [ { "id": 1, "userName": "张三", "createdAt": "2023-01-01T12:00:00.000Z", "updatedAt": "2023-01-01T12:00:00.000Z" } ], "pagination": { "total": 100, "currentPage": 1, "pageSize": 10, "totalPages": 10 } }, "timeStamp": 1621234567890 } ``` ## 许可证 MIT