# @antelopejs/interface-data-api 中文文档

规范地址：https://npmcn.com/package/%40antelopejs/interface-data-api/

版本：0\.6\.1
npm 元数据更新时间：2026-11-04T22:04:53.908Z
中文译文更新时间：2026-11-06T06:26:39.768Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40antelopejs/interface-data-api
原文对照：https://npmcn.com/package/%40antelopejs/interface-data-api/?lang=original
项目主页：https://interfaces.antelopejs.com/docs/data-api
源码仓库：https://github.com/AntelopeJS/interface-data-api

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：874 kB，192 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@antelopejs/interface-api \>=0\.3\.0 \<1\.0\.0，@antelopejs/interface-core \>=0\.2\.4 \<1\.0\.0，@antelopejs/interface-api-util \>=0\.1\.3 \<1\.0\.0，@antelopejs/interface-database \>=0\.1\.10 \<1\.0\.0，@antelopejs/interface-database-decorators \>=0\.1\.10 \<1\.0\.0
- 首次发布：2026-03-22T17:22:28.171Z
- 最新版本发布：2026-11-04T22:04:53.512Z
- 近 30 天下载量：13161（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 23 个）

## 中文简介

从数据库表格中生成 CRUD REST 端点的羚羊JS 接口, 包含访问规则、 验证和页标

## 安装

```sh
npm install @antelopejs/interface-data-api
```

也可以使用：`pnpm add @antelopejs/interface-data-api`、`yarn add @antelopejs/interface-data-api`、`bun add @antelopejs/interface-data-api`

## README

# `@antelopejs/interface-data-api`

[![npm](https://img.shields.io/npm/v/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000)](https://www.npmjs.com/package/@antelopejs/interface-data-api) [![License](https://img.shields.io/npm/l/@antelopejs/interface-data-api?style=for-the-badge&labelColor=000000&color=000000)](https://npmcn.com/package/%40antelopejs/interface-data-api/LICENSE) [![Discord](https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000)](https://discord.gg/g4pFt6eXqu) [![Docs](https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000)](https://interfaces.antelopejs.com/docs/data-api)

从一个数据库表格中生成 CRUD REST 端点的羚羊JS 接口. 宣布一个数据控制器及其字段,为 `get`, (中文(简体) ), `list`, (中文(简体) ), `new`, (中文(简体) ), `edit` 财务报告和审定财务报表 `delete` 具有进入规则、验证和标记的路线.

部分 [羚羊JS](https://github.com/AntelopeJS/antelopejs)用于 [羚羊JS 隐形物](https://github.com/AntelopeJS/dms),用于您的 PostgreSQL 、 MongoDB 或 RethinkDB 数据库的开源后台.

## 它提供的东西

-   `DataController` 财务报告和审定财务报表 `@RegisterDataController()` 将表格类变成控制器,并附带您从中选择的默认路径 `DefaultRoutes`。 。 。 .
-   `@Access` 决定每个路由读取和写入的字段 . `@Mandatory` 财务报告和审定财务报表 `@Validator` 检查书面值.
-   `@Listable`, (中文(简体) ), `@Sortable` 财务报告和审定财务报表 `@Filter` 形状 `list` 路线.
-   `@Foreign`, (中文(简体) ), `@Joined` 财务报告和审定财务报表 `@Computed` 解析引用,平整远程字段,并添加数据库中计算的值.

## 执行情况

软件包在您的模块中运行,没有自己的执行模块. 项目需要执行它所依赖的接口的模块.

| 接口 | 模块 |
| --- | --- |
| `@antelopejs/interface-api` | [`@antelopejs/api`](https://github.com/AntelopeJS/api) |
| `@antelopejs/interface-database` | [`@antelopejs/mongodb`](https://github.com/AntelopeJS/mongodb) 或者说 [`@antelopejs/rethinkdb`](https://github.com/AntelopeJS/rethinkdb) |

## 安装

将软件包及其对等界面添加到您的模块中.

```bash
pnpm add @antelopejs/interface-data-api @antelopejs/interface-api @antelopejs/interface-api-util @antelopejs/interface-core @antelopejs/interface-database @antelopejs/interface-database-decorators
```

然后在项目中添加执行内容.

```bash
ajs project modules add @antelopejs/api @antelopejs/mongodb
```

## 快开始

```ts
import { Controller } from "@antelopejs/interface-api";
import {
  DataController,
  DefaultRoutes,
  RegisterDataController,
} from "@antelopejs/interface-data-api";
import {
  Access,
  AccessMode,
  Listable,
  Mandatory,
  ModelReference,
  Sortable,
} from "@antelopejs/interface-data-api/metadata";
import {
  BasicDataModel,
  Field,
  Model,
  RegisterSchema,
  RegisterTable,
  Table,
} from "@antelopejs/interface-database-decorators";

@RegisterTable("tasks", "todo")
class Task extends Table {
  declare _id: string;

  @Field("string")
  declare summary: string;
}

class TaskModel extends BasicDataModel(Task, "tasks") {}

@RegisterDataController()
class TaskAPI extends DataController(
  Task,
  DefaultRoutes.All,
  Controller("/tasks"),
) {
  @ModelReference()
  @Model(TaskModel)
  declare taskModel: TaskModel;

  @Listable()
  @Access(AccessMode.ReadOnly)
  declare _id: string;

  @Listable()
  @Sortable()
  @Mandatory("new")
  @Access(AccessMode.ReadWrite)
  declare summary: string;
}

export async function construct() {
  await RegisterSchema("todo");
}
```

控制器服务 `GET /tasks/get?id=`, (中文(简体) ), `GET /tasks/list`, (中文(简体) ), `POST /tasks/new`, (中文(简体) ), `PUT /tasks/edit?id=` 财务报告和审定财务报表 `DELETE /tasks/delete?id=`字段 `@Access` 除非 `@Joined` 或者说 `@Computed` 让它只读.

## 文档

-   [导言](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/1.introduction.md)
-   [数据控制器](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/2.data-controllers.md)
-   [路线和装货型警卫](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/3.routes.md)
-   [访问权](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/4.access-rights.md)
-   [验证器](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/5.validators.md)
-   [可列表字段](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/6.listable.md)
-   [外国密钥](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/7.foreign-keys.md)
-   [过滤器](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/8.filters.md)
-   [修改器](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/9.modifiers.md)
-   [连接字段](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/10.joined.md)
-   [已计算字段](https://npmcn.com/package/%40antelopejs/interface-data-api/docs/11.computed.md)

## 兼容性

软件包宣布这些 `@antelopejs/*` 相对依赖.

| 软件包 | 支助 | 测试过 |
| --- | --- | --- |
| `@antelopejs/interface-api` | `>=0.3.0 <1.0.0` | `0.2.0` |
| `@antelopejs/interface-api-util` | `>=0.1.3 <1.0.0` | `0.3.0` |
| `@antelopejs/interface-core` | `>=0.2.4 <1.0.0` | `0.4.0` |
| `@antelopejs/interface-database` | `>=0.1.10 <1.0.0` | `0.3.0` |
| `@antelopejs/interface-database-decorators` | `>=0.1.10 <1.0.0` | `0.2.0` |

## 捐款

读取 [捐款额](https://npmcn.com/package/%40antelopejs/interface-data-api/CONTRIBUTING.md) 在你打开拉动请求之前。 用这些命令进行本地检查.

```bash
pnpm install
pnpm lint
pnpm test
```

## 许可证

[阿帕奇 - 2.0](https://npmcn.com/package/%40antelopejs/interface-data-api/LICENSE)

## 常见问题

### @antelopejs/interface-data-api 是什么？

从数据库表格中生成 CRUD REST 端点的羚羊JS 接口, 包含访问规则、 验证和页标

### 如何安装 @antelopejs/interface-data-api？

在项目目录运行 npm install @antelopejs/interface-data-api，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@antelopejs/interface-api（\>=0\.3\.0 \<1\.0\.0）、@antelopejs/interface-core（\>=0\.2\.4 \<1\.0\.0）、@antelopejs/interface-api-util（\>=0\.1\.3 \<1\.0\.0）、@antelopejs/interface-database（\>=0\.1\.10 \<1\.0\.0）、@antelopejs/interface-database-decorators（\>=0\.1\.10 \<1\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @antelopejs/interface-data-api 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @antelopejs/interface-data-api 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @antelopejs/interface-data-api 可以商用吗？

@antelopejs/interface-data-api 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @antelopejs/interface-data-api 的下载量有多少？

根据 npm 官方下载统计，@antelopejs/interface-data-api 在 2026/10/06 – 2026/11/04 这 30 天内被下载 13,161 次，日均约 439 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @antelopejs/interface-data-api 还在维护吗？

最新版本 0\.6\.1 发布于 2026/11/05（1 天前）；至今共发布 23 个版本，其中过去 12 个月发布了 23 个；首次发布于 2026/03/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

