API设置(REST API)

斑斑低代码对外开放 API,你可以通过 API 访问斑斑的表单数据。

API 设置

打开应用,点击右上角“应用设置”。






点击左侧“API 设置”,可以进入设置界面。开启 API 服务后,当前应用的数据即可通过下方的 API 地址进行访问。

API 列表

MethodURL描述
GET/api/v1/:appId获取应用内的所有表单
GET/api/v1/:appId/:formId获取数据列表
GET/api/v1/:appId/:formId/:docId获取单条数据
GET/api/v1/:appId/:formId/toc以目录树结构返回数据列表
POST/api/v1/:appId/:formId创建一条数据
PUT/api/v1/:appId/:formId/:docId修改一条数据
DELETE/api/v1/:appId/:formId/:docId删除一条数据


其中,appId为应用 ID,formId为表单 ID(或表单别名),docId为数据 ID。

数据返回格式

返回数据包含以下字段:

  • <font style="background-color:#f9ddb2;">data</font> 数据本身,可能有以下情况:
  • <font style="background-color:#f9ddb2;">meta</font> 一些元数据(可扩展)
  • <font style="background-color:#f9ddb2;">error</font> 错误信息(可选)

Key-Secret 校验

获取 key-secret

key 和 secret 可以在工作台的管理后台中获取。


请求参数

需要 Key-Secret 校验的请求,需要发送以下请求参数(GET 传参):

参数类型说明
key字符串工作台-管理后台中获取的 key
timestamp时间戳10 位或 13 位时间戳。服务端会校验时间,相差超过 60 秒会拒绝访问。
sign字符串加密字符串。服务端会校验加密算法,校验失败会拒绝访问。加密算法为:md5(key + timestamp + secret)

比如 key 为vPQLpCHlXNKu,secret 为RaCBog1j8ruflI14amyeqYXm,则请求时的参数为:

key=vPQLpCHlXNKu×tamp=1757391409&sign=36c0e2bbb0514d8df5144bda04f94765

请求示例

以下示例中,4j815fmhht0j是应用 ID,articles是表单别名。


获取列表数据

GET http://localhost:43334/api/v1/4j815fmhht0j/articles

1234567891011121314151617181920212223242526{ "data": [ { "id": "u2i3s0pi1no7", "title": "BMK Paris Bamako", "内容": "", "updateTime": 1752047397644, "createTime": 1752047397644 }, { "id": "stykuonikdfl", "title": "Biscotte Restaurant", "内容": "", "updateTime": 1752047397644, "createTime": 1752047397644 } ], "meta": { "pagination": { "page": 1, "pageSize": 25, "pageCount": 1, "total": 2 } }}

获取单条数据

GET http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl

12345678910{ "data": { "id": "stykuonikdfl", "title": "Biscotte Restaurant", "内容": "", "updateTime": 1752047397644, "createTime": 1752047397644 }, "meta": {}}

新增一条数据

POST http://localhost:43334/api/v1/4j815fmhht0j/articles

123456{ "data": { "title": "Biscotte Restaurant", "内容": "" }}

12345678910{ "data": { "id": "stykuonikdfl", "title": "Biscotte Restaurant", "内容": "", "updateTime": 1752047397644, "createTime": 1752047397644 }, "meta": {}}

修改一条数据

PUT http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl

123456{ "data": { "title": "Biscotte Restaurant", "内容": "" }}

12345678910{ "data": { "id": "stykuonikdfl", "title": "Biscotte Restaurant", "内容": "", "updateTime": 1752047397644, "createTime": 1752047397644 }, "meta": {}}

删除一条数据

DELETE http://localhost:43334/api/v1/4j815fmhht0j/articles/stykuonikdfl 成功时仅返回状态码 204,无响应体

请求参数

数据过滤(Filters)

GET /api/v1/:appId/:formId?filters[:field][:operator]=:value

操作描述
$eq
相等
$ne不相等
$lt小于
$lte小于或等于
$gt大于
$gte大于或等于
$in包含在数组中
$nin不包含在数组中
$exists是否存在
$or
$and
$not

选择字段(Field selection)

可以用参数fields选择返回哪些字段,默认会返回除关系、子表之外的所有字段。

用法示例
选择单个字段fields=name
选择多个字段fields[0]=name&fields[1]=description

字段填充(Field Population)

REST API 默认不会返回关系字段、子表字段,可以用参数populate来填充。

用法示例
填充所有字段populate=*
填充一个字段populate=a-relation-name
填充多个字段populate[0]=relation-name&populate[1]=another-relation-name&populate[2]=yet-another-relation-name

排序(Sorting)

可以通过sort参数对数据进行排序。:asc为正序(默认方式,可不写),:desc为倒序。

用法示例
单个字段排序<font style="color:rgb(74, 74, 106);">sort=name</font>按 name 正序
多个字段排序sort[0]=name&sort[1]=description先按 name 正序,再按 description 正序
单个字段倒序sort=name:desc按 name 倒序
多字段混合排序sort[0]=name:desc&sort[1]=description先按 name 倒序,再按 description 正序

分页(Pagination)

通过 page 分页

GET /api/v1/:appId/:formId?pagination[page]=1&pagination[pageSize]=10

参数类型描述默认值
pagination[page]Integer第几页<font style="color:rgb(74, 74, 106);">1</font>
pagination[pageSize]Integer每页条数<font style="color:rgb(74, 74, 106);background-color:rgba(220, 220, 228, 0.243);">25</font>
pagination[withCount]Boolean是否返回总条数和总页数<font style="color:rgb(74, 74, 106);">true</font>

通过 offset 分页

GET /api/v1/:appId/:formId?pagination[start]=0&pagination[limit]=10

参数类型描述默认值
pagination[start]Integer起始下标<font style="color:rgb(74, 74, 106);">0</font>
pagination[limit]Integer查询条数<font style="color:rgb(74, 74, 106);background-color:rgba(220, 220, 228, 0.243);">25</font>
pagination[withCount]Boolean是否返回数据总条数true