Skip to content

框架

NestJS

本项目基于 NestJS 11,在开始开发之前,您应该对 NestJS 的以下内容有一个基本的了解:

  • Controllers(控制器)
  • Providers(提供者)
  • Modules(模块)
  • Middleware(中间件)
  • Exception filters(异常过滤器)
  • Pipes(管道)
  • Guards(守卫)
  • Interceptors(拦截器)

官方文档(英文):https://docs.nestjs.com

中文文档:https://nestjs.inode.club

NestJS 应用中的请求处理流程:

text
请求

中间件 (Middlewares) [自上而下按顺序执行]

守卫 (Guards) [自上而下按顺序执行]

拦截器 (Interceptors) [自上而下按顺序执行] (请求阶段)

管道 (Pipes) [自上而下按顺序执行]

路由处理器 (Route Handler)

拦截器 (Interceptors) [自下而上按顺序执行] (响应阶段)

异常过滤器 (Exception Filters) [自下而上按顺序执行]

响应

数据库

项目数据库使用的是 PostgreSQL,同时使用 Prisma 作为 ORM(对象关系映射)工具。项目中所有的 schema 文件都在 prisma/schema 文件夹中。

Prisma 官方文档(英文):https://www.prisma.io/docs

Prisma 中文文档:https://prisma.yoga

缓存

项目使用 Redis 作为缓存数据库,并封装了一些自定义装饰器,让您可以简便的对数据进行缓存。