目录
版本控制
提示
本章节仅适用于基于 HTTP 的应用程序。
版本控制允许您在同一个应用程序中运行不同版本的控制器或个别路由。 应用程序经常发生变化,而且通常会出现需要进行破坏性更改的情况, 而您仍然需要支持先前版本的应用程序。
支持四种版本控制的类型:
URI Versioning | 版本将在请求的 URI 中传递(默认) |
|---|---|
Header Versioning | 自定义请求标头将指定版本 |
Media Type Versioning | 请求的 Accept 标头将指定版本 |
Custom Versioning | 请求的任何方面都可以用于指定版本。提供了一个自定义函数来提取所述版本。 |
URI 版本控制类型
URI 版本控制使用包含在请求 URI 中的版本, 例如 https://example.com/v1/route 和 https://example.com/v2/route。
提示
使用 URI 版本控制时,版本将自动添加到 URI 中,位于全局路径前缀之后(如果存在的话), 并位于任何控制器或路由路径之前。
要启用应用程序的 URI 版本控制,请执行以下操作:
main.ts
const app = await NestFactory.create(AppModule);
// 或 "app.enableVersioning()"
app.enableVersioning({
type: VersioningType.URI,
});
await app.listen(3000);
提示
URI 中的版本默认会自动添加前缀 v,但是可以通过将 prefix 键设置为所需的前缀或 false(如果要禁用它)来配置前缀值。
提示
VersioningType 枚举可用于 type 属性,并从 @nestjs/common 包导入。