启用 API 接口版本控制

上一章讲了使用 nest g resource user命令来生成一个完整 CRUD 资源,那么如何控制全局启用 API 接口版本控制?

使用 app.enableVersioning

我们在mian.ts 中
1、引入import { VersioningType } from '@nestjs/common';

	URI = 0,
    HEADER = 1,
    MEDIA_TYPE = 2,
    CUSTOM = 3
上面有4 种版本传递方式:

1.URL(推荐)格式:/v1/users
2.Header 请求头携带:Accept-Version: 1 或自定义头
3.Query 参数携带:/users?version=1
4.CUSTOM(自定义) extractor: (req) => req.headers['x-api-version'] || '1',

我们将使用URL方式,代码如下

   app.enableVersioning({
    type: VersioningType.URI,
  }); 

然后在代码中使用:

一、 在controller中配置

1、整个con设置版本,增加类的修饰器

  @Controller({
    path: 'users',
    version: '1',
  }) 

二、单个接口需要设置版本

1、import { Version} from '@nestjs/common'; //引入
2、在方法上写入

  @Get()
  @Version('1')
  findAll() {
    return this.userService.findAll();
  }
posted @ 2026-05-07 11:20  蜗牛般庄  阅读(16)  评论(0)    收藏  举报
Title
页脚 HTML 代码