# api-interfce **Repository Path**: tan-junchi/api-interfce ## Basic Information - **Project Name**: api-interfce - **Description**: api开放平台的一个项目源码 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-07-21 - **Last Updated**: 2025-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # api-interfce #### 介绍 api开放平台的一个项目源码 #### 软件架构 软件架构说明 1. 本项目采用springboot和react架构 2. knife4j自动生成前端文档 3. 采用API签名和摘要加密,对用户的信息和调用接口进行权限控制 4. 手写client的starter,提供API签名的加密方法,同时方便权限的校验和接口的调用 5. 使用Dubbo完成远程方法调用,并使用nacos作为注册中心:直接将backend作为发布方,网关作为订阅方 6. AOP切面编程实现了注解类型的用户权限校验 7. 网关技术对通用的功能进行了封装,例如:用户调用接口前的api签名认证,剩余次数的减少,日志打印等 7. 自定义异常和枚举类等 #### 项目说明 1. 本项目只实现了在本地的运行环境 2. 本项目使用了nacos作为这个项目的注册中心 3. 使用了rpc进行了远程方法调用 #### 使用说明 1. init--- 后端处理全接口 2. gateway --- 网关,进行鉴权和接口次数修改 3. interface --- 提供的用户能调用的接口 4. sdk(stater) --- 内部提供了api签名的工具类,同时提供了一个内置的接口调用方法 5. test --- 之前用来实验dubbo的测试类 6. frontend --- 使用react实现的简单的一个前端实现 #### 本地运行说明 1. 需要修改backend中的mysql地址 2. 保证安装了redis,并在默认地址运行 3. 保证安装并正确运行了nacos,在8848端口运行