Skip to content

安装部署

执行db/dml.sql脚本,创建库表和初始化数据,建议mysql 8.0+版本

docker pull crabc/crabc-admin:latest
docker run -p 9377:9377 --env db_url=jdbc连接 --env db_user=数据库用户 --env db_pwd=数据库密码 -d --name crabc-admin crabc/crabc-admin:latest

账号密码:admin/admin123 An image

新增数据源

1、在菜单服务管理-数据源中,【新建】数据源 An image 2、输入数据库的基本配置后,点击测试连通性,保存后即可创建成功。(每个数据库都会分配一个连接池) An image 3、在数据库列表中可以直接更新或删除对应的数据库。(删除后连接池会跟随释放) An image

新建接口

菜单工作台中,左侧的导航面板[数据库,分组]。点击【新建】右边编辑框即可新增一个tab页(默认的tab是SQL查询预览) An image

编写SQL

在编辑框编写相应的业务SQL,点击【运行】即可在下面的结果tab中显示查询结果。(运行按钮左侧的🪄是格式化SQL)

查询

An image

新增

INSERT INTO t_user(user_name,nick_name,age,create_time) VALUES(#{userName},#{nickName},#{age},now())

修改

UPDATE t_user SET age=#{age} where id=#{Id}

删除

DELETE FROM t_user WHERE id=#{id}

SQL模板

系统内置了查询、修改、删除和新增四种SQL脚本的模板,可根据选择的表自动生成相应的SQL语句 An image

配置属性

右侧面板中【属性】,填写接口相关属性。
请求方式:GET、POST、PUT、DELTE(GET/DELETE不支持Body传数,POST/PUT只支持Body/json
权限认证:无、Code认证、签名认证
分组:下拉框对接口进行分组,可在左侧面板切换第二个属性进行【新建分组】 An image

请求参数

右侧面板中【请求参数】,填写接口请求参数类型和描述以及分页配置。程序会解析SQL中的符合语法【#{*}】的参数字段,自动填写至右侧面板中。
字段类型String、Int、Double、Array、Date 有五种类型可选。
分页属性:有三种【不分页/分页】配置可选择,接口默认不分页。 An image

返回参数

右侧面板中【返回参数】,填写返回参数类型和描述。程序会解析SQL中查询返回的字段和别名(insert/update/delete不解析),自动填写至右侧面板中。
字段类型String、Int、Double、Array、Date 有五种类型可选。 An image

预览测试

完成接口的属性配置后,可点击【预览】进行测试验证。 An image

保存发布

确认查询结果无误后可点击【保存】和【发布】,这时一个接口已经完成了开发。
想要调用已经发布的接口,权限认证配置为: 的接口可直接调用。
Code认证签名认证需要在【服务管理-应用列表】中关联应用,根据权限认证类型进行接口传参。

Mybatis标签

Crabc支持Mybatis标签语法的SQL,可直接在编辑框中使用Mybatis标签语法。

if标签

在编辑框内编写带有if标签的,或者点击编辑框下方的ifwhere快捷生成标签语法。 An image

foreach标签

在编辑框内编写带有foreach标签标签的SQL,或者点击编辑框下方的foreach标签快捷生成标签语法。 请求参数入参list需要设置类型为Array,预览测试时list的集合值可用分开逗号An image

在线测试传参

An image

set标签

An image

创建分组

在菜单工作台中,切换左侧的导航面板[1、数据库,2,文件夹]至文件夹。在root目录右侧的【+】新建一个业务所属的文件夹。 An imageAn image

接口列表

在【服务管理-接口列表】中可以查看已发布开发中的接口,可对已发布的接口进行上线下线管理,下线后可对接口进行再次编辑发布。
点击接口名称可跳转到接口详情页查看接口请求参数、返回参数和结果示例。可对接口列表进行Excel 导入导出An imageAn image

创建应用

应用信息是接口调用时需要在请求Header中加入的安全认证信息。在应用列表中点击【授权API】进行关联授权操作
AppCode: Code认证时需要进行传参。(示例:appCode=**)
AppKey: 签名认证时需要进行传参。
AppSecret: 签名认证时需要进行算法加签得到 sign
An imageAn image

调用示例

发布的接口先进行应用授权,然后调用使用

Code认证

Code认证类型:在请求Header中加入appCode参数和对应的值 An image

签名认证

请求参数按字母排序之后再后面加上appkeytimestamp(时间戳毫秒)生成字符串,然后把排序后的字符串和应用的AppSecret, 使用HmacSHA256 进行加密,得到sign加密串。
在请求Header中加入签名属性:appkey、timestampsign
timestamp验证有效时间: 十分钟
示例:

{
    "Id": 12
}

参数排序后拼接appkey和timestamp:Id=1&appkey=c3a3a69bb8bc49cc8738dabca3362b&timestamp=1691241709144
sign: feb7648d59c7c5ae5a2e446bf06bbf2eba466d97abc6fca82cc568b6efa29bc3 An image

签名加密在线工具

时间戳生成在线工具
HmacSHA256在线加密工具

流控规则

对已发布的接口进行并发访问流量进行控制,保护接口的稳定性。
点击【新建】创建限流规则,在规则列表中点击【授权API】关联需要保护的接口。
示例:单位时间:10s,QPS阈值:100 效果:10秒接口请求的次数大于100次则进行限流保护 An imageAn image

接口日志

程序会记录发布的接口每次调用结果的基本信息。 An image