考虑到nestjs框架,我有几个作为API公开的服务。每个服务都有其自己的模块和特定的httpmodule配置。
ServiceA需要致电ServiceB。在这种情况下,我有两个选择: 1-执行http请求。 2-在服务A中使用服务B。
对于选项1,有问题。 ServiceA具有其自己的HTTPModule配置,因此要执行http请求,我需要覆盖HttpModule配置。此外,这还会给我发送HTTP请求的服务带来不必要的负担。
选项2似乎有一个问题,其中ServiceA HttpModule配置用于ServiceB。
问题: 是否可以使用ServiceA中的ServiceB来维护ServiceB的模块上下文完整性?
为清楚起见,这里是结构:
-src
--serviceA
-- serviceA.module.ts
-- serviceA.service.ts
--serviceB
-- serviceB.module.ts
-- serviceB.service.ts
谢谢
答案 0 :(得分:0)
我想我明白了。
在serviceA.module中:
@Module({
imports: [
ServiceBModule
],
})
export class ServiceA {}
在ServiceB模块中,我必须像这样添加导出:
@Module({
exports: [ServiceBService]
})
export class ServiceBModule {}
在serviceA.service
import { ServiceBService } from 'src/serviceB/serviceB.service';
constructor(private readonly serviceB: ServiceBService) { }
通常在代码中使用serviceB。