Skip to main content

index

基础使用

安装

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

依赖

npm i -D @types/express

使用官方模板

$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start

默认行为

响应状态码

  • Get:默认总是返回 200
  • Post:默认总出返回 201

nestjs 基础概念

Express和Fastify内核

Nest 提供了对底层平台(默认为 Express

Exporess

  • 类:NestExpressApplication

Fastify

  • 类:NestFastifyApplication

Router 路由

/* cats.controller.ts */
// 这里创建了一个 /cats 路由,该请求的类型是 Get

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

@Controller('cats')
export class CatsController {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}

通配符

  • ?:正则

  • +:正则

  • *:正则

  • ():正则

  • -:按字符串路径逐字解析

  • .:按字符串路径逐字解析

@Get('cc*vb')

内置装饰器

自定义的装饰器

装饰器对应api说明
@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
@HttpCode(code:int)定义当前请求返回的状态码