基于 TypeScript 的 API 聚合服务 - 统一网关和聚合多个 API 数据源
npm install
npm run dev
npm run build
npm start
API-Hub/ ├── src/ │ ├── index.ts # 主入口文件 │ ├── app.ts # Express 应用配置 │ ├── types/ │ │ └── index.ts # TypeScript 类型定义 │ ├── services/ │ │ ├── aggregator.ts # API 聚合服务 │ │ ├── cache.ts # 缓存服务 │ │ └── proxy.ts # 代理服务 │ ├── routes/ │ │ └── index.ts # 路由定义 │ ├── middleware/ │ │ ├── errorHandler.ts # 错误处理中间件 │ │ └── logger.ts # 日志中间件 │ └── utils/ │ └── helpers.ts # 工具函数 ├── package.json ├── tsconfig.json └── README.md
POST /api/aggregate Content-Type: application/json { "requests": [ { "id": "users", "url": "https://api.example.com/users", "method":GET" }, { "id": "posts", "url": "https://api.example.com/posts", "method": "GET" } ] }
GET /api/proxy?url=https://api.example.com/data
创建 .env 文件:
PORT=3000 NODE_ENV=development LOG_LEVEL=info CACHE_TTL=300
npm run lint
npm test
MIT