用于接入 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 输出标准。

调试流程说明

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

未配置异常信息转换时,默认转换为包含 http 状态码的异常信息。

配置异常信息转换后,使其符合 NocoBase 输出标准,前端可以正确展示第三方 API 的异常信息。

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 配置好了之后,就可以去界面添加区块了。
