我试图导入app.module.ts
上的一些控制器,但在应用程序启动后它们没有被Map。
main.ts
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const config = new DocumentBuilder()
.setTitle('My Gateway')
.setDescription('API to connect to my services')
.setVersion('1.0')
.build();
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('api', app, document);
await app.listen(3000);
}
bootstrap();
app.module.ts
@Module({
imports: [
OrderModule,
ProductModule,
CacheModule.register({ isGlobal: true }),
ConfigModule.forRoot({ isGlobal: true }),
],
controllers: [],
providers: [],
})
export class AppModule {}
当我运行npm run start:dev
时,除了控制器之外,所有依赖项都被加载
LOG [NestFactory] Starting Nest application...
LOG [InstanceLoader] ConfigHostModule dependencies initialized +0ms
LOG [InstanceLoader] ProductModule dependencies initialized +0ms
LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
LOG [InstanceLoader] HttpModule dependencies initialized +1ms
在ProductModule
和OrderModule
上,我还导入了控制器
@Module({
imports: [],
controllers: [OrderController],
providers: [OrderService],
exports: [OrderService],
})
export class OrderModule {}
每个控制器还声明了@Controller
装饰器。
如何包含要Map的控制器并开始接受请求?
2条答案
按热度按时间cwtwac6a1#
正如我在评论中提到的你的另一个问题,发生的事情是你的
CompanyHttpConfigService
依赖于它试图为其创建配置的HttpService
,而Nest由于某种原因没有报告循环依赖,即使存在一个,可能是因为在某个地方吞下了一个错误。在那个配置中把HttpService
换成rawaxios
,你应该很好地继续开发。qni6mghb2#
原件
您的控制器是否使用de @Controller装饰器标记?
编辑1
这是一个在NestJS中复制工作路由的文件代码:
运行
npm run start:dev
,您应该在终端中看到: