需求分析与技术选型

需求分析

本项目是一个面向开发者的API平台,提供API接口供开发者调用,侧重于后端。
用户通过注册登录,可以开通接口调用权限,并可以浏览和调用接口。
每次调用都会进行统计,用户可以根据统计数据进行分析和优化。
管理员可以发布接口、下线接口、接入接口,并可视化接口的调用情况和数据。

开放平台项目涉及五个子系统的交互

  1. 模拟接口系统:提供各种模拟接口供开发者使用和测试,例如,提供一个随机头像生成接口。
  2. 后台管理系统:管理员可以发布接口、设置接口的调用数量、设定是否下线接口等功能,以及查看用户使用接口的情况(使用次数,错误调用等)。
  3. 用户前台系统:提供一个访问界面,供开发者浏览所有的接口,可以购买或开通接口,并获得一定量的调用次数。
  4. API网关系统:负责接口的流量控制,计费统计,安全防护等功能,提供一致的接口服务质量,和简化API的管理工作。
  5. 第三方调用SDK系统:提供一个简化的工具包,使得开发者可以更方便地调用接口,例如提供预封装的HTTP请求方法、接口调用示例等。

关键问题和挑战

  1. 接口设计:需要设计清晰易用的API接口,并且提供详细的接口文档,以方便开发者使用。
  2. 性能和可用性:平台需要承载大量的接口请求,因此需要考虑到性能和可用性问题。例如,设计高效的数据存储和检索策略,确保API网关的高性能等。
  3. 安全:平台需要防止各种安全攻击,例如DDOS攻击,也需要保护用户的隐私和数据安全。
  4. 计费和流量控制:需要设计合理的计费策略和流量控制机制,以确保平台的稳定运行和收入来源。
  5. 易用性和用户体验:需要为开发者提供简单易用的接口调用工具和友好的用户界面,提供优质的用户体验。

技术选型

前端
React + Ant Design Pro + Ant Design Procomponents + Umi + Uim Request(Axios)

后端
Spring Boot + Spring Boot Starter(SDK开发) + 网关

前端

初始化

Ant Design Pro 官网
版本 Ant Design Pro v6 = 基于 Umi 4 + React 18/19
安装在系统中
npm i @ant-design/pro-cli -g
创建项目
pro create myapp

初始化项目包括:
Umi 4
React 19
TypeScript 5+
Biome 替代 ESLint(现代化工具链)

项目廋身:去除国际化

后端

初始化