Skip to content

示例项目

示例项目位于 packages/example 目录,展示了如何使用 @lzui/nest-crud 构建完整的 RESTful API。

项目结构

packages/example/
├── src/
│   ├── module/
│   │   ├── demo/
│   │   │   ├── dto/
│   │   │   ├── entities/
│   │       │   └── demo.entity.ts      # Demo 实体定义
│   │   │   ├── demo.controller.ts
│   │   │   ├── demo.module.ts
│   │   │   └── demo.service.ts
│   │   └── user/
│   │       ├── dto/
│   │       ├── entities/
│   │       │   └── user.entity.ts      # User 实体定义
│   │       ├── user.controller.ts      # User 控制器,使用 CRUD
│   │       ├── user.module.ts          # User 模块
│   │       └── user.service.ts         # User 服务,继承 BaseService
│   ├── main.module.ts                   # 主模块,配置 TypeORM
│   └── main.ts                         # 应用入口
├── test/
├── .prettierrc
├── eslint.config.mjs
├── nest-cli.json
├── package.json
├── README.md
├── tsconfig.build.json
└── tsconfig.json

运行示例

bash
# 从根目录运行示例
pnpm dev:example

# 或从示例目录运行
cd packages/example
pnpm run start:dev

API 端点

示例项目提供了以下 API 端点:

User API

  • GET /api/v1/user/list - 获取用户列表
  • GET /api/v1/user/login - 登录(演示用)

Demo API (使用 CrudController)

  • POST /api/v1/demo/add - 添加演示数据
  • DELETE /api/v1/demo/delete/:id - 删除演示数据
  • PUT /api/v1/demo/update/:id - 更新演示数据
  • GET /api/v1/demo/info/:id - 获取演示数据详情
  • GET /api/v1/demo/list - 获取演示数据列表
  • GET /api/v1/demo/page - 分页查询演示数据
  • POST /api/v1/demo/export - 导出演示数据
  • GET /api/v1/demo/other - 自定义接口示例

测试数据

应用启动后,会自动在 PostgreSQL 数据库中创建表结构。可以使用以下命令创建测试数据:

bash
# 先登录获取权限
curl -X GET http://localhost:3000/api/v1/user/login

# 发送 POST 请求创建演示数据
curl -X POST http://localhost:3000/api/v1/demo/add \
  -H "Content-Type: application/json" \
  -d '{"title":"测试标题","type":"测试类型","price":100}'

查看数据

可以使用 PostgreSQL 客户端查看数据库内容:

bash
# 连接数据库
psql -U postgres -d my_db

# 查看用户表
SELECT * FROM user;