部分可以,而其中的差别很重要。每个生成的应用程序都提供完整的 REST API——每种数据类型对应同一组路由——但它由会话 Cookie 保护:目前还没有可让其他软件自行连接的 API 密钥。不过,无需编写一行代码,您就能使用每个数据集的 JSON 与 CSV 导出、测量数据的文件导入,以及自行托管时对数据库的直接访问。而且由于代码归您所有,添加 API 密钥仍然是一项常规工作。
应用程序真正提供了什么
生成的应用程序并不是覆盖在不透明数据库之上的一层界面:它像一个普通的 Web 应用程序那样构建,界面背后是一套 REST API。对于您需求中描述的每一种数据类型,引擎都会生成同一组路由:列出与新建,然后读取、修改和删除某条具体记录。顺便说明,删除并不会永久抹除任何内容——记录会进入回收站,并且存在一条恢复路由用于撤销。
这些路由并非可选的附加项:它们正是应用程序自身界面所使用的那一套。因此并不存在一边是「真正的」内部 API、另一边是被削弱的公开 API——它们是同一套,就在您带走的代码里。
需要了解的限制:目前没有 API 密钥
一旦应用程序要求登录——对管理类数据而言这是默认情形——它的路由就受到保护:每次调用都必须携带登录时签发的已签名会话 Cookie,而只读账户的任何写入都会在服务端被拒绝,无论通过哪条路径。
这项保护有一个直接后果,最好在决定之前了解:目前既没有 API 密钥,也没有令牌,能让另一个软件在没有浏览器的情况下自行完成认证。因此第三方工具无法就这样以「机器对机器」的方式查询该应用程序。我们宁愿把这一点写清楚,也不愿让「应用程序有 API」这句话暗示出超出实际的含义。
无需编写一行代码就能实现的部分
「设置」界面提供每个数据集的导出,格式为 JSON 或 CSV。这是通往电子表格、报表工具或会计师的最短路径:数据在您决定的时候导出,且采用人人都能读取的格式。
反方向上,测量数据——读数、轨迹、由设备产生的序列——会获得一条导入路由和一个文件上传按钮:CSV,以及用于轨迹的 GPX。最后,如果您自行托管该应用程序,它的 PostgreSQL 数据库便归您所有:报表工具可以直接读取,无需经过 API。
如果您需要完整的集成
需要记住的是:以上这些限制没有一项是锁。该应用程序是一个标准的 Next.js 与 Prisma 项目,可导出为 ZIP,也可推送到您自己的 GitHub 仓库:为已经存在的路由添加基于 API 密钥的认证,对开发者而言是一项路径清晰的工作,而且面对的是可读的代码。
这正是它与那些集成能力取决于厂商是否提供连接器的工具之间的区别。在这里,问题从来不是「平台会允许吗?」,而只是「由谁来写?」——而当您着手去做的那一天,无需向任何人请求许可。