nestjs - Nest 无法解析 AuthPhoneService (CredentialsRepository, ?, ConfigService) 的依赖关系
问题描述
我正在尝试将 NestJS 与 typeorm 一起使用。虽然我已经查看了其他一些类似的问题,但这似乎有所不同,因为我在一个服务中使用了两个存储库,而且我似乎看不到我做错了什么。
错误:
Nest can't resolve dependencies of the AuthPhoneService (CredentialsRepository, ?, ConfigService). Please make sure that the argument Repository at index [1] is available in the AuthPhoneModule context.
我有一个名为 AuthPhoneService 的服务。它接受两个 repos 作为构造函数参数:
@UseFilters(new UncaughtExceptionsFilter())
@Injectable()
export class AuthPhoneService {
constructor(@InjectRepository(Credentials)
private credentialsRepo: Repository<Credentials>,
private publicKeysRepo: Repository<PublicKeys>,
private configService: ConfigService
) { }
...
由于错误表明 publicKeysRepo 有问题:
我试过这样定义我的模块:
import { Module } from '@nestjs/common';
import { AuthController } from '../auth-controller';
import { AuthPhoneService } from './auth-phone.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Credentials } from '../credential/credentials.entity';
import { AuthVerifyController } from '../verify/auth-verify.controller';
import { PublicKeys } from './publickeys.entity';
@Module({
imports: [
TypeOrmModule.forFeature([Credentials]),
TypeOrmModule.forFeature([PublicKeys])
],
providers: [AuthPhoneService],
controllers: [AuthController, AuthVerifyController],
})
export class AuthPhoneModule { }
像这样...
import { Module } from '@nestjs/common';
import { AuthController } from '../auth-controller';
import { AuthPhoneService } from './auth-phone.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Credentials } from '../credential/credentials.entity';
import { AuthVerifyController } from '../verify/auth-verify.controller';
import { PublicKeys } from './publickeys.entity';
@Module({
imports: [
TypeOrmModule.forFeature([Credentials,PublicKeys])
],
providers: [AuthPhoneService],
controllers: [AuthController, AuthVerifyController],
})
export class AuthPhoneModule { }
这两个选项都不起作用,并且总是产生相同的错误。
任何帮助将不胜感激。
解决方案
看起来你缺少@InjectRepository()
装饰器publicKeysRepo
@UseFilters(new UncaughtExceptionsFilter())
@Injectable()
export class AuthPhoneService {
constructor(
@InjectRepository(Credentials)
private credentialsRepo: Repository<Credentials>,
@InjectRepository(PublicKeys) // <-- add this
private publicKeysRepo: Repository<PublicKeys>,
private configService: ConfigService
) { }
...
推荐阅读
- .net - 使用超链接将 RDLC 渲染为 PDF
- matlab - 将归一化滤波器转换为实频滤波器
- excel - 将文件嵌入特定列并向下一行插入另一个文件
- asp.net - 如何更改 Url.Action() 使用的根 URL?
- java - 我们是否需要在 Spring Boot 中为每个表编写实体类?
- amazon-web-services - 在 aws 上创建 https 重定向的步骤
- java - 如何在方法之间调用字符串?
- django - Django Graphene - 将 info.context 传递给 Query 或 Mutation 的装饰器
- python - pandas 序列的唯一 ID
- json - 抓取 AJAX 生成的表格以批量下载 PDF