NestJs快速入门

84 阅读1分钟

nestjs快速入门

一、安装nestjs

npm i -g @nestjs/cli

二、初始化项目

nest new project-name

三、快捷命令

image.png

四、创建第一个接口

nest g res list

list.module.ts

import { Module } from '@nestjs/common'
import { ListService } from './list.service'
import { ListController } from './list.controller'

@Module({
  controllers: [ListController],
  providers: [ListService]
})
export class ListModule {}

list.cotroller.ts

import {
  Controller,
  Get,
  Post,
  Body,
  Patch,
  Param,
  Delete
} from '@nestjs/common'
import { ListService } from './list.service'
import { CreateListDto } from './dto/create-list.dto'
import { UpdateListDto } from './dto/update-list.dto'

@Controller('list')
export class ListController {
  constructor(private readonly listService: ListService) {}

  @Post()
  create(@Body() createListDto: CreateListDto) {
    return this.listService.create(createListDto)
  }

  @Get()
  findAll() {
    return this.listService.findAll()
  }

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

  @Patch(':id')
  update(@Param('id') id: string, @Body() updateListDto: UpdateListDto) {
    return this.listService.update(+id, updateListDto)
  }

  @Delete(':id')
  remove(@Param('id') id: string) {
    return this.listService.remove(+id)
  }
}

list.service.ts

import { Injectable } from '@nestjs/common'
import { CreateListDto } from './dto/create-list.dto'
import { UpdateListDto } from './dto/update-list.dto'

@Injectable()
export class ListService {
  create(createListDto: CreateListDto) {
    return 'This action adds a new list'
  }

  findAll() {
    return `This action returns all list`
  }

  findOne(id: number) {
    return `This action returns a #${id} list`
  }

  update(id: number, updateListDto: UpdateListDto) {
    return `This action updates a #${id} list`
  }

  remove(id: number) {
    return `This action removes a #${id} list`
  }
}

最后通过 Apifox 测试接口完美成功!!