文章 / 后端工程 / Nest搭建(1)

Nest搭建(1)

nest 安装和主要结构

2024年5月21日6 min1512 words
Nest搭建(1)
图 1-1 cover.webp

安装

npm i -g @nestjs/cli
$ nest new project-name

入口:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

controller

import { Controller, Get, Post } from '@nestjs/common';

export interface createCatDto {
  name: string;
  age: number;
  breed: string;
}

@Controller('cats')
export class CatsController {
  @Get()
  findAll(): string {
    return 'This action returns all cats';
  }
  @Post()
  async create(@Body() createCatDto: CreateCatDto) {
    this.catsService.create(createCatDto);
  }
}
@Request(), @Req()req
@Response(), @Res()*****res
@Next()next
@Session()req.session
@Param(key?: string)req.params / req.params[key]
@Body(key?: string)req.body / req.body[key]
@Query(key?: string)req.query / req.query[key]
@Headers(name?: string)req.headers / req.headers[name]
@Ip()req.ip
@HostParam()req.hosts

service

import { Injectable } from '@nestjs/common';

export interface Cat {
  name: string;
  age: number;
  breed: string;
}

@Injectable()
export class CatsService {
  private readonly cats: Cat[] = [];

  create(cat: Cat) {
    this.cats.push(cat);
  }

  findAll(): Cat[] {
    return this.cats;
  }
}

module

import { Module } from '@nestjs/common';
import { CatsController } from './cats/cats.controller';
import { CatsService } from './cats/cats.service';

@Module({
  controllers: [CatsController],
  providers: [CatsService],
})
export class CatModule {}

评论 (0)

加载评论中...
RELATED NOTES
05 entries
01给 AI Agent 设计可靠的发布系统:幂等、断点续跑与跨平台一致性阅读文章 →02docker镜像资源阅读文章 →03mcp服务的node实现阅读文章 →04kafka阅读文章 →05知乎邀请指定用户阅读文章 →