极简后端接口数据模拟框架sim-api
sim-api
介绍
sim-api是一个极简的后端接口数据模拟框架,是为了解决多个服务或系统之间的数据依赖因为开发进度而相互影响的问题,适用于普通SpringBoot项目及微服务。
特点
-
代码侵入性几乎为0,只需要添加几行配置即可
-
简单的操作方式,模拟数据一键开启或关闭
-
支持不同的请求方式返回不同的模拟数据
原理
-
通过在应用中引入sim-api-client,扫描controller信息,然后注册到服务端,服务端控制是否开启模拟数据;
-
客户端缓存服务端模拟接口和数据,拦截应用请求,如果是模拟接口则直接返回模拟数据;
-
服务端定时扫描客户端信息,检查客户端健康状态。
使用框架
SpringBoot
Vue
Hey ui
下载
2019/08:0.0.1
使用教程
准备工作:
sim-api仅需要一张表来持久化api信息,所以需要在你的数据库中创建一张表(Mysql):
create table if not exists sa_api
(
api_id int auto_increment comment '主键'
primary key,
app_name varchar(100) null comment '应用名称',
app_addr varchar(500) null comment '应用地址',
api_name varchar(100) null comment 'api名称',
api_url varchar(500) null comment 'api地址',
req_method varchar(20) null comment '请求方法',
res_data text null comment '响应数据',
res_type varchar(200) null comment '响应类型',
api_desc varchar(500) null comment '描述',
method varchar(10000) null comment 'api实现方法元数据',
create_time timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
update_time timestamp on update current_timestamp comment '更新时间',
open_simulation int default 0 null comment '是否开启模拟,0不开启 1开启'
)
comment 'api信息';
服务端
-
下载jar包或者获取源码本地编译
-
修改数据库配置
修改jar包中application.yml配置文件:
server:
port: 5221
spring:
application:
name: sim-api-server
datasource:
url: 你的数据库连接
username: 用户名
password: 密码
-
执行命令:
java -jar sim-api-server-0.0.1-SNAPSHOT.jar
-
访问web界面:
http://localhost:5221
应用列表:
API列表:
客户端
-
下载jar包并安装jar包到maven仓库,或者获取源码本地编译也可
-
引入maven
<dependency> <groupId>com.yao2san</groupId> <artifactId>sim-api-client</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
-
在项目的yml配置文件中添加配置:
sim-api: enabled: true server: addr: 127.0.0.1:8081
-
启动项目,日志输出如下内容,表明接口注册成功:
start scan api sim-api : find api [/test/test] ...... find total 5 api start register api,server address : http://127.0.0.1:5221/sim-api/register sim-api registration success
模拟API
- 开启模拟
在API列表页面,切换“数据模拟”开关来开启/关闭模拟API。
- 修改模拟数据
在API列表页面,点击“编辑按钮”,修改模拟返回数据。
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022