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

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

版本：0\.3\.0
npm 元数据更新时间：2026-11-04T19:14:14.612Z
中文译文更新时间：2026-11-06T06:26:20.054Z
软件包许可：Apache-2\.0

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

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

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

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

## 中文简介

API 处理器的羚羊JS 助手:请求断言,输入验证和速率限制

## 安装

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

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

## README

# `@antelopejs/interface-api-util`

[![npm](https://img.shields.io/npm/v/@antelopejs/interface-api-util?style=for-the-badge&labelColor=000000&color=000000)](https://www.npmjs.com/package/@antelopejs/interface-api-util) [![License](https://img.shields.io/npm/l/@antelopejs/interface-api-util?style=for-the-badge&labelColor=000000&color=000000)](https://npmcn.com/package/%40antelopejs/interface-api-util/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/api-util)

请求校验并限制处理器的帮助 [`@antelopejs/interface-api`](https://github.com/AntelopeJS/interface-api)每一次失败都变成了 `HTTPResult` 错误反应 .

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

## 它提供的东西

-   `assert(condition, code, message)` 丢出一个 `HTTPResult` 当病情变质 并缩小其类型时,它保持.
-   `assertValidation(body, validator)` 运行同步验证器, 如 Zod `parse`然后把一个错误变成一个错误的响应, `400` 默认.
-   `@RateLimit(limit, windowMs)` 在固定窗口中给每个客户端的处理器打电话并回答 `429` 更别提了.

## 执行情况

帮手在你的模块里运行。 他们需要一个模块提供的API接口:

| 模块 | 页:1 |
| --- | --- |
| [`@antelopejs/api`](https://github.com/AntelopeJS/api) | 执行 `@antelopejs/interface-api` 财务报告和审定财务报表 `@antelopejs/interface-api-util` |

## 安装

将软件包添加到宣布路径的模块中 :

```bash
pnpm add @antelopejs/interface-api-util
```

然后在项目中添加 API 接口的执行 :

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

## 快开始

```ts
import {
  Controller,
  Get,
  HTTPResult,
  Parameter,
} from "@antelopejs/interface-api";
import { RateLimit, assert } from "@antelopejs/interface-api-util";

const BOOKS = new Map([["1", { title: "The Glass Meridian" }]]);

export class BookController extends Controller("/books") {
  @Get(":id")
  @RateLimit(100, 60_000)
  async getBook(@Parameter("id") id: string) {
    const book = BOOKS.get(id);
    assert(book, 404, "Book not found");
    return new HTTPResult(200, book);
  }
}
```

地点 `@RateLimit` 直接在路由装饰器下方. 放在上面, `@RateLimit` 当类被定义时会抛出.

## 文档

-   [请求、验证和费率限制](https://npmcn.com/package/%40antelopejs/interface-api-util/docs/1.introduction.md)

## 兼容性

模块宣布这些对等关系:

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

## 捐款

读取 [捐款额](https://npmcn.com/package/%40antelopejs/interface-api-util/CONTRIBUTING.md) 在你打开拉动请求之前。 当地检查为:

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

## 许可证

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

## 常见问题

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

API 处理器的羚羊JS 助手:请求断言,输入验证和速率限制

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

在项目目录运行 npm install @antelopejs/interface-api-util，或使用 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）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

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

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

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

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

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

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

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

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

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

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

