NestJS Prisma Starter 项目教程

NestJS Prisma Starter 项目教程

nestjs-prisma-starter Starter template for NestJS 😻 includes GraphQL with Prisma Client, Passport-JWT authentication, Swagger Api and Docker 项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-prisma-starter

1. 项目介绍

NestJS Prisma Starter 是一个基于 NestJS 和 Prisma 的快速启动模板,旨在帮助开发者快速搭建一个包含 GraphQL、Prisma Client、Passport-JWT 认证、Swagger API 文档和 Docker 支持的 NestJS 应用。该项目提供了一个完整的开发环境,开发者可以基于此模板进行快速开发和部署。

2. 项目快速启动

2.1 安装依赖

首先,安装 NestJS CLI 工具以启动和生成 CRUD 资源:

# 使用 npm
npm i -g @nestjs/cli

# 使用 yarn
yarn add -g @nestjs/cli

然后,安装项目依赖:

# 使用 npm
npm install

# 使用 yarn
yarn install

2.2 配置 PostgreSQL 数据库

使用 Docker 启动 PostgreSQL 数据库:

# 复制 .env.example 并重命名为 .env
cp .env.example .env

# 启动 PostgreSQL 数据库
docker-compose -f docker-compose.db.yml up -d

# 或者使用 npm 脚本
npm run docker:db

2.3 使用 Prisma Migrate

Prisma Migrate 用于管理数据库模式和迁移。首先,确保 .env 文件中包含 DATABASE_URL 环境变量。然后,运行以下命令创建迁移并更新数据库模式:

npx prisma migrate dev

# 或者使用 npm 脚本
npm run migrate:dev

2.4 生成 Prisma Client

每次更新 schema.prisma 文件后,重新生成 Prisma Client:

npx prisma generate

# 或者使用 npm 脚本
npm run prisma:generate

2.5 启动 NestJS 服务器

在开发模式下启动 NestJS 服务器:

npm run start:dev

在生产模式下启动 NestJS 服务器:

npm run start:prod

启动后,GraphQL Playground 可在 http://localhost:3000/graphql 访问。

3. 应用案例和最佳实践

3.1 使用 GraphQL 进行数据查询

在 GraphQL Playground 中,可以使用以下示例查询获取用户数据:

query {
  getUser(id: "1") {
    id
    name
    email
  }
}

3.2 使用 JWT 进行身份验证

通过登录或注册获取 JWT 令牌,并在 GraphQL Playground 的 HTTP HEADERS 中添加:

{
  "Authorization": "Bearer YOURTOKEN"
}

3.3 使用 Swagger 进行 API 文档管理

NestJS Prisma Starter 集成了 Swagger,可以在 http://localhost:3000/api 访问 RESTful API 文档。

4. 典型生态项目

4.1 Prisma

Prisma 是一个现代化的数据库工具,提供了类型安全的 ORM 和数据库迁移功能。NestJS Prisma Starter 集成了 Prisma,开发者可以轻松管理数据库模式和数据访问。

4.2 GraphQL

GraphQL 是一种用于 API 的查询语言,NestJS Prisma Starter 使用 GraphQL 提供了强大的数据查询和操作能力。

4.3 Docker

Docker 用于容器化应用,NestJS Prisma Starter 提供了 Docker 支持,开发者可以轻松构建和部署应用。

4.4 Swagger

Swagger 用于生成和展示 RESTful API 文档,NestJS Prisma Starter 集成了 Swagger,开发者可以方便地管理和查看 API 文档。

通过以上模块的介绍和快速启动指南,开发者可以快速上手并使用 NestJS Prisma Starter 项目进行开发。

nestjs-prisma-starter Starter template for NestJS 😻 includes GraphQL with Prisma Client, Passport-JWT authentication, Swagger Api and Docker 项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-prisma-starter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋韵庚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值