Monkey-API开放平台 2024年02月 - 2024年06月 Monkey-API是一个基于 React + Spring Boot + Dubbo + Gateway 的 API 接口开放调用平台。 主要功能:管理员接入并发布接口,可视化各接口调用情况;用户开通接口调用权限、浏览接口及在线调试,并通过客户端 SDK轻松调用接口。 功能实现: 根据业务流程,将整个项目后端划分为web系统、模拟接口、公共模块、客户端SDK、API网关这5个子项目,并使用 Maven 进行多模块依赖管理和打包。 用户登录中使用Redis实现分布式Session,解决集群间登录态同步问题;并使用Hash 代替 String 来存储用户信息,节约 了内存并便于单字段的修改。 为防止接口被恶意调用,设计API签名认证算法,为用户分配唯一ak/sk以鉴权,保障调用的安全性、可溯源性(指便于统 计接口调用次数)。 为解决开发者调用成本过高的问题(须自己使用HTTP+封装签名去调用接口,平均20行左右代码),基于Spring Boot Starter开发了客户端SDK,一行代码即可调用接口,提高开发体验。 选用Spring Cloud Gateway作为API网关,实现了路由转发、访问控制、流量染色,并集中处理签名校验、请求参数校 验、接口调用统计等业务逻辑,提高安全性的同时、便于系统开发维护。 为解决多个子系统内代码大量重复的问题,抽象模型层和业务层代码为公共模块,并使用Dubbo RPC框架实现子系统间的 高性能接口调用,大幅减少重复代码。
访问 localhost:7529/api/doc.html 就能在线调试接口了,不需要前端配合啦~