nestjs基础知识之2 RESTful 版本控制

76 阅读1分钟

安装nestjs脚手架

npm i -g @nestjs/cli

创建一个nestjs项目

nest new [项目名称]

RESTful 版本控制

URI Versioning版本将在请求的 URI 中传递(默认)
Header Versioning自定义请求标头将指定版本
Media Type Versioning请求的Accept标头将指定版本

开启版本控制

import { NestFactory } from '@nestjs/core';
import { VersioningType } from '@nestjs/common';
import { AppModule } from './app.module';
 
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  //开启版本控制类型
  app.enableVersioning({
    type: VersioningType.URI,
  })
  await app.listen(3000);
}
bootstrap();
import { Controller, Get, Post, Body, Patch, Param, Delete, Version } from '@nestjs/common';
import { UserService } from './user.service';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';
 
 //在整个controller中开启
@Controller({
  path:"user",
  version:'1'
})
export class UserController {
  constructor(private readonly userService: UserService) {}
 
 
  @Get()
  //在单个url中开启
  // @Version('1')
  findAll() {
    return this.userService.findAll();
  }
 

访问: http://localhost:3000/v1/user