nestjs中有多个全局前缀
从'@nestjs/core'导入{NestFactory} 从“./app.module”导入{AppModule} 异步函数引导(){ const app=wait NestFactory.create(AppModule) 附录setGlobalPrefix(“v1”) 附件setGlobalPrefix(“v2”) 等待应用程序。聆听(3000) } bootstrap()nestjs中有多个全局前缀,nestjs,Nestjs,从'@nestjs/core'导入{NestFactory} 从“./app.module”导入{AppModule} 异步函数引导(){ const app=wait NestFactory.create(AppModule) 附录setGlobalPrefix(“v1”) 附件setGlobalPrefix(“v2”) 等待应用程序。聆听(3000) } bootstrap() 我想要两个版本的API,所以想知道如何设置两个全局前缀?据我所知,您不能使用setGlobalPrefix来实现这
我想要两个版本的API,所以想知道如何设置两个全局前缀?据我所知,您不能使用
setGlobalPrefix
来实现这一点,也不支持上面提到的方法。但您可以为每个版本创建两个控制器,并在其中设置基本路径:
@Controller('/v1')
export class ApiControllerV1 {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}
@Controller('/v2')
export class ApiControllerV2 {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}
您可以通过使用
NestFactoryStatic
初始化一个工厂,通过调用setGlobalPrefix
设置此工厂的全局前缀,并通过调用init
方法初始化来创建单个工厂
下面是一个关于如何执行此操作的示例,来源于:
异步函数引导(){
const server=express();
const config=require('../../etc/config.js');
const apiFactory=new NestFactoryStatic();
const api=wait apiFactory.create(apimule,server);
api.setGlobalPrefix(“/api/v1”);
等待api.init();
const adminFactory=new NestFactoryStatic();
const admin=wait adminFactory.create(AdminModule,服务器);
admin.setGlobalPrefix(“/admin”);
等待admin.init();
http.createServer(server.listen(config.server.port);
}
bootstrap();
@Gaurav:有什么反馈吗?