Appearance
示例项目
示例项目位于 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:devAPI 端点
示例项目提供了以下 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;