创建node项目(nest.js+prisma+ts)到 完整项目(持续更新中...)

通过脚手架安装nest 
 npm i -g @nestjs/cli // 全局安装脚手架

 nest new project-name // 创建一个Nest.js项目

 npm run start:dev // Nest.js 启动命令
安装prisma
1. 将 Prisma CLI 作为开发依赖项添加到项目中

    npm install prisma --save-dev

2. 通过使用以下命令创建Prisma 模式文件模板来设置 Prisma 项目:

    npx prisma init

    这个命令会生prisma的新目录也包含一个schema.prisma的文件夹

3. 安装prisma/clien依赖

    npm install @prisma/client
配置schema.prisma文件
 
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id    Int     @default(autoincrement()) @id
  email String  @unique
  name  String?
}
配置.env 文件
DATABASE_URL="mysql://use:password@localhost:3306/test"
  • User: 数据库用户名
  • Password: 数据库用户密码
  • Host: 数据库服务器的 ip 或者域名
  • Port: 数据库服务器的端口
  • Database name: 数据库名称
创建第一个迁移:

npx prisma migrate dev --name init
nest 常用命令

 创建一个curd模板

nest g resource [name]

创建模块(用于关联路由与服务)

nest generate module user
简写
nest g mo user

创建路由(控制层,可以处理简单的业务和处理请求与响应) 

nest generate controller user
简写
nest g co user

建立服务(处理复杂的业务逻辑)

nest generate service  user
简写
nest g s user
 常见接口取值
@Post('create')
  create(@Body() createProjectDto: CreateProjectDto) {
    return this.projectService.create(createProjectDto);
  }

  @Get('findAll')
  findAll(@Query('page') page: number, @Query('size') size: number) {
    return this.projectService.findAll(+page, +size);
  }

  @Get(':id')
  findOne(@Param('id') id: string) {
    return this.projectService.findOne(+id);
  }

  @Post('update')
  update(@Body() bodyData:any,@Body() updateProjectDto: UpdateProjectDto) {
    return this.projectService.update(bodyData.id, updateProjectDto);
  }

  @Delete('delete/:id')
  remove(@Param('id') id: string) {
    return this.projectService.remove(+id);
  }
增加swagger文档
//安装依赖
npm install --save @nestjs/swagger swagger-ui-express


//在main.ts文件中,增加
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';

 // swagger 配置
  const config = new DocumentBuilder()
    .setTitle('API文档')
    .setDescription('该文档为API文档')
    .setVersion('1.0')
    .build();
  const document = SwaggerModule.createDocument(app, config);
  SwaggerModule.setup('swagger', app, document); // 访问文档接 http://localhost:3030/swagger


// 在DTO文件中上使用ApiProperty()添加参数注释:
@ApiProperty({ title: '项目名称' })
name: string;

//在controller 文件中增加@ApiTags、@ApiOperation
@ApiTags('项目管理')

@ApiOperation({ summary: '新增项目' })
@Post('create')

重启项目 输入http://localhost:3030/swagger

 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值