# @2amtech/crudx-swagger 中文文档

规范地址：https://npmcn.com/package/%402amtech/crudx-swagger/

版本：1\.0\.4
npm 元数据更新时间：2025-01-08T04:40:58.827Z
中文译文更新时间：2026-11-06T17:56:42.486Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%402amtech/crudx-swagger
原文对照：https://npmcn.com/package/%402amtech/crudx-swagger/?lang=original
项目主页：https://github.com/2amigos/nest-kit#readme
源码仓库：https://github.com/2amigos/nest-kit

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

- 包体积（解压后）：42.3 kB，18 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2024-08-05T14:58:05.548Z
- 最新版本发布：2025-01-08T04:40:58.485Z
- 近 30 天下载量：2528（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

NestJs 软件包将 swagger 元数据应用到用 @ 2amtech/ crudx 软件包生成的路由中

## 安装

```sh
npm install @2amtech/crudx-swagger
```

也可以使用：`pnpm add @2amtech/crudx-swagger`、`yarn add @2amtech/crudx-swagger`、`bun add @2amtech/crudx-swagger`

## README

# @ 2amtech/crudx- swagger (英语)

雀巢JS通过它的软件包提供巨大的支持来滑翔 [@nestjs/ swagger (英语)](https://docs.nestjs.com/openapi/introduction)。 。 。 .

作为增强CRUD端点创建能力的图书馆 `@2amtech/crudx` 完成这个步骤 证明 `@2amtech/crudx-swagger`,用于为自动生成的端点CRUD端点添加相干元数据的一个手动一步骤设置模块.

使用此软件包,您将会在您所有 CRUD 路由的 swagger docs 中定义默认描述, 能够替换/ 扩展这些路由, 只需覆盖想要的路由, 并使用 `@nestjs/swagger` 作装饰.

## 安装

```bash
$ npm i @2amtech/crudx-swagger
```

## 配置

要配置软件包,只需设置 `CrudxSwaggerRoutesFactory` 页:1 `routesFactory` 选项

```typescript
import { CrudConfigService } from "@2amtech/crudx";
import { NestFactory } from "@nestjs/core";
import { CrudxSwaggerRoutesFactory } from "@2amtech/crudx-swagger"

CrudConfigService.load({
  ...
  routesFactory: CrudxSwaggerRoutesFactory,
});

import { AppModule } from "./app/app.module";
...
```

然后,你必须创建一个 swagger 文档和应用程序本身, 通常这样做:

```typescript
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const globalPrefix = "api";
  app.setGlobalPrefix(globalPrefix);

  const port = process.env.PORT || 3000;

  const config = new DocumentBuilder().setTitle("Crudx Swagger").setDescription("Crudx-Swagger").setVersion("1.0").addTag("crudx-swagger").build();
  const document = SwaggerModule.createDocument(app, config);
  SwaggerModule.setup("api/docs", app, document);

  await app.listen(port);
}

bootstrap();
```

## 覆盖文件

如果您想要修改默认的道克或用自己的描述更新一些路由道克,则只需要覆盖路由,然后应用您的装饰符:

```typescript
...

@Crud({
  model: {
    type: User,
  },
})
@Controller('/user')
export class UserController implements CrudController<User> {
  constructor(public service: UserService) {}

  get base(): CrudController<User> {
    return this;
  }

  @Override()
  @ApiResponse(<ApiResponseOptions>{
    status: 200,
    description: "Overriden description",
  })
  async getOne(req: CrudRequest): Promise<User> {
      return this.base.getOneBase(req);
  }
}
```

> [![](http://www.gravatar.com/avatar/55363394d72945ff7ed312556ec041e0.png)](http://www.2amigos.us/)  
> _网络开发从未如此有趣_  
> [www.2am.tech 页面存档备份,存于互联网档案馆](http://www.2amigos.us/)

## 常见问题

### @2amtech/crudx-swagger 是什么？

NestJs 软件包将 swagger 元数据应用到用 @ 2amtech/ crudx 软件包生成的路由中

### 如何安装 @2amtech/crudx-swagger？

在项目目录运行 npm install @2amtech/crudx-swagger，或使用 pnpm add / yarn add / bun add。

### @2amtech/crudx-swagger 支持 TypeScript 吗？

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

### @2amtech/crudx-swagger 支持 ESM 还是 CommonJS？

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

### @2amtech/crudx-swagger 可以商用吗？

@2amtech/crudx-swagger 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @2amtech/crudx-swagger 的下载量有多少？

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

### @2amtech/crudx-swagger 还在维护吗？

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

