请求(Request)
可以自定义请求的方法(Http Method),如 GET
、POST
、PUT
、DELETE
, POST/PUT 的请求体(Http Body)为JSON格式(ContentType: application/json)。
# 页面配置样例
{
"api": "get:https://server.example.com/api-01",
"api": "post:https://server.example.com/api-01",
"api": "put:https://server.example.com/api-01",
"api": "delete:https://server.example.com/api-01",
}
API网关
基塔将对API请求进行封装,浏览器将先请求基塔API网关,再由网关将请求发给页面中配置的服务器(如: server.example.com)。这样做主要是为了更安全和权限管理,还可自动记录访问日志:
安全。原始的API地址存储在网关,前端用户不可见,避免API地址泄露可能产生的安全问题。如:
权限控制。网关对API请求进行鉴权和权限检查,您可以控制哪些用户组有请求权限。
访问日志。您可根据需要,在后台开启重要API的访问日志记录。
API映射
多数的开发者有多个服务器或有更改服务器host的需求,为了方便更改host,可以通过API映射功能快速替换实际的API。如:
响应 (Response)
服务器端需要返回JSON格式(ContentType: application/json)响应,并对格式有些要求。
基础格式
{
"status": 0,
"msg": "OK",
"data": {
// ...其他字段
}
}
字段 | 类型 | 说明 |
---|---|---|
status | int | 返回状态字。0 :正确 , 其他为错误 |
msg | string | 错误原因 |
data | object | 必须返回一个具有 key-value 结构的对象 |
例如:
// 正确的样例
{
"status": 0,
"msg": "OK",
"data": {
// ...其他字段
"username": "张三",
"age": 20,
"mobile": "139****8899"
}
}
// 错误的样例
{
"status": 404,
"msg": "用户不存在",
"data": {}
}
表格/列表 (CRUD/LIST)
{
"status": 0,
"msg": "OK",
"data": {
"items": [
{
// 每一行的数据
"id": 1,
"xxx": "xxxx"
}
],
"total": 200 // 注意!!!这里不是当前请求返回的 items 的长度,而是数据库中一共有多少条数据,用于生成分页组件
// 如果你不想要分页,把这个不返回就可以了。
"hasNext": true // 如果不知道总数量,但是知道有下一页可以设置 hasNext ,用于生成简单的分页
}
}
字段 | 类型 | 说明 |
---|---|---|
items | array[orbject] | 每行的数据内容 |
total | int | 总数量。不是当前页的数量,用于分页。 不能与 hasNext 同时使用 |
hasNext | boolean | 是否有下一页。 不能与 total 同时使用 |
选择器/下拉框 (Option)
{
"status": 0,
"msg": "OK",
"data": {
// 默认值(可选)
"value": "a",
// 必须用 options 作为选项组的 key 值
"options": [
{
"label": "选项A",
"value": "a"
},
{
"label": "选项B",
"value": "b"
},
{
"label": "选项C",
"value": "c"
}
]
}
}
字段 | 类型 | 说明 |
---|---|---|
value | string | 动态默认值 |
options | array[object] | 选项 |
options.label | string | 显示文字 |
options.value | string | 选中值 |
更新时间: 2021-10-20 08:19