Итак, я следовал руководству о том, как создать конфигурацию для моего приложения Nest
https://docs.nestjs.com/techniques/configuration
, и из-за того, что у меня много частей конфигурации, я хотел разделить части на несколько сервисов конфигурации. Поэтому мой app.module.ts импортирует пользовательский модуль конфигурации
@Module({
imports: [CustomConfigModule]
})
export class AppModule {}
Этот пользовательский модуль конфигурации ( config.module.ts ) объединяет все службы конфигурации и загружает модуль конфигурации Nest
@Module({
imports: [ConfigModule.forRoot()],
providers: [ServerConfigService],
exports: [ServerConfigService],
})
export class CustomConfigModule {}
Наконец, у меня есть простая служба конфигурации server.config.service.ts , которая возвращает порт, на котором запущено приложение
@Injectable()
export class ServerConfigService {
constructor(private readonly configService: ConfigService) {}
public get port(): number {
return this.configService.get<number>('SERVER_PORT');
}
}
Я хотел бы проверить эти службы при запуске приложения. Документы объясняют, как настроить схему проверки для модуля конфигурации
https://docs.nestjs.com/techniques/configuration#schema -validation
Как я могу использовать это для проверки моей службы при использовании настраиваемого модуля конфигурации ? Нужно ли вызывать joi в каждом конструкторе сервисов и проверять свойства там?
Заранее спасибо