datart通过自定义视图查询数据源数据
一、 功能概述
该功能可以实现动态注册数据源,自定义SQL就可以通过统一接口查询数据。减少开发工作量,提高效率。
二、注册数据源
注意:连接地址,一定要设置utf8编码,不然中文查询不出来,示例: jdbc:mysql://121.37.7.167:33314/数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
三、添加数据视图
数据视图-新建数据视图-SQL 视图,进入编写要查询数据库的SQL
1.先选择数据源
2.编写查询SQL
3.执行SQL
4.保存视图
四、调用接口查询数据
1.获取TOKEN
(1)接口地址:[POST] https://{url}/api/v1/users/login
(2)Body 请求参数:
{
"username": "wangbo", //用户名
"password": "admin@2023!" //密码
}
2.获取视图数据
(1)接口地址: [POST] https://{url}/api/v1/data-provider/view
(2)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 参数说明 |
---|---|---|---|---|
Authorization | Bearer eyJhbGciOiJIUzI1xxxxx | 是 | string | token |
(3)Body 请求参数
{
"page": 1,//当前页
"limit": 20,//每页条数
"viewId": "a961d8dc8af4496aad3dfe71d9668416",//视图id
"filters": [ //查询条件,接口执行时会拼在sql语句的where部分
{
"column": [ //字段名字
"create_date"
],
"sqlOperator": "GT", //运算符(EQ:等于,NE:不等于,GTE:大于等于,LTE:小于等于,LT:小于,GT:大于)
"values": [
{
"value": "2023-06-08", //参数值
"valueType": "DATE" //参数类型
}
]
}
]
}
(4)响应示例
{
"data": { //返回数据
"list": [ 返回数据列表,字段由查询数据决定
{
"request_time": 154,
"ip": "127.0.0.1",
"id": 1667084925162176513,
"request_method": "POST",
"create_date": "2023-06-09 16:23:14",
"operation": "保存",
"request_uri": "/renren-admin/kong/kongapp/save",
"status": 0
}
],
"page": 1, //当前页
"limit": 20, //每页面条数
"total": 56 //总条数
},
"errCode": 0,
"message": null,
"success": true //是否成功
}
五、自定义视图变量
(2)变量使用,变量格式:$变量名称$,使用如下:
select
*
from sys_log_operation where create_date between $START_DATE$ and $END_DATE$
(3)接口调用时添加参数
{
"page": 1,//当前页
"limit": 20,//每页条数
"viewId": "a961d8dc8af4496aad3dfe71d9668416",//视图id
"params": { //视图自定义变量
"START_DATE": [ //变量名称
"2023-06-12" //变量值
],
"END_DATE": [
"2023-06-13"
]
}
}