用于接入 REST API 来源的数据。
该插件为商业插件,需要通过插件管理器上传并激活插件

激活插件之后,在数据源管理的 Add new 下拉菜单中选择 REST API。

配置 REST API 源

RESTful 的资源就是 NocoBase 的 Collection,例如 Users 资源
映射到 NocoBase API 里的配置为
完整的 NocoBase API 设计规范参考 API 文档

查看「NocoBase API - Core」章节

REST API 数据源的 Collection 配置如下
配置查看资源列表的接口映射

配置查看资源详情的接口映射

配置创建资源的接口映射

配置更新资源的接口映射

配置删除资源的接口映射

其中 List 和 Get 是 必须配置的两个接口。
示例: 为 List 接口配置分页参数(如果第三方 API 本身不支持分页,则以取到的列表数据来分页)。

请注意,只有在接口中已添加的变量才会生效。
| 第三方 API 接入参数名 | NocoBase 参数 |
|---|---|
| page | {{request.params.page}} |
| limit | {{request.params.pageSize}} |
可以点击 Try it out 进行调试,查看响应结果。

第三方 API 的响应格式可能并不是 NocoBase 标准,需要转换之后才能正确的在前端显示。

根据第三方 API 的响应格式调整转换规则,使其符合 NocoBase 输出标准。

调试流程说明

REST API 数据源提供了三类变量用于接口的对接



目前提供的只有响应的 Body

各个接口对接时可用变量如下:
| 参数 | 说明 |
|---|---|
| request.params.page | 当前页数 |
| request.params.pageSize | 每页数量 |
| request.params.filter | 过滤条件(需要符合 NocoBase 的 Filter 格式) |
| request.params.sort | 排序规则(需要符合 NocoBase 的 Sort 格式) |
| request.params.appends | 按需加载的字段,一般用于关系字段的按需加载 |
| request.params.fields | 接口只输出哪些字段(白名单) |
| request.params.except | 排除哪些字段(黑名单) |
| 参数 | 说明 |
|---|---|
| request.params.filterByTk | 必填,一般为当前数据的 ID |
| request.params.filter | 过滤条件(需要符合 NocoBase 的 Filter 格式) |
| request.params.appends | 按需加载的字段,一般用于关系字段的按需加载 |
| request.params.fields | 接口只输出哪些字段(白名单) |
| request.params.except | 排除哪些字段(黑名单) |
| 参数 | 说明 |
|---|---|
| request.params.whiteList | 白名单 |
| request.params.blacklist | 黑名单 |
| request.body | 创建的初始化数据 |
| 参数 | 说明 |
|---|---|
| request.params.filterByTk | 必填,一般为当前数据的 ID |
| request.params.filter | 过滤条件(需要符合 NocoBase 的 Filter 格式) |
| request.params.whiteList | 白名单 |
| request.params.blacklist | 黑名单 |
| request.body | 更新的数据 |
| 参数 | 说明 |
|---|---|
| request.params.filterByTk | 必填,一般为当前数据的 ID |
| request.params.filter | 过滤条件(需要符合 NocoBase 的 Filter 格式) |
从适配的资源的 CRUD 接口的数据中,提取字段的元数据(Fields)作为 collection 的字段。

提取字段元数据。

字段及预览。

编辑字段(和其他数据源的方式类似)。

Collection 配置好了之后,就可以去界面添加区块了。
