业务背景:随着云计算、大数据、物联网等新技术的发展,API 的使用范围和重要性愈加凸显。越来越多的企业和机构开始构建自己的 API 开放平台,将内部的业务逻辑、数据资源和服务对外开放,以吸引更多的开发者和合作伙伴加入,实现更广泛的业务拓展和生态建设。
业务目标:设计并实现一个基于 SpringBoot 框架的 API 开放平台,为调用者提供便捷、高效的 API 调用服务。该平台可以让调用者注册并登录账号,通过申请 API 调用次数,使用各种 API 。同时管理员可以通过统一的管理界面,可以方便地添加、删除和更新接口,并对接口进行版本管理,并且提供 API 调用情况和数据的可视化界面。
具体工作内容:
● 整个项目后端划分为 WEB 系统、公共模块、客户端 SDK、API 网关、接口服务器。
● 后端使用 Swagger + Knife4j自动生成 OpenAPI 规范接口文档,前端只需在此基础上使用插件自动生成接口请求代码,从而降低前后端协助成本。
● 基于 Spring Boot Starter 开发了客户端 SDK ,一行代码即可调用接口。
● 签名认证算法,用户在注册账号时同时生成唯一的 AK/SK 用于鉴权,保障调用的安全性。
● 使用 Dubbo RPC 框架实现子系统间的高性能接口调用
● 使用 Spring Cloud Gateway 作为 API 网关,实现动态路由转发、访问控制、流量染色、签名校验、调用统计、日志等业务逻辑。