Estou com um problema muito estranho com meu aplicativo Nest (moro dentro do Nx, pelo que vale a pena). Eu gerei um novo recurso:
nx g resource --project testing
✔ Which generator would you like to use? · @nx/nest:resource
✔ What name would you like to use for this resource (plural, e.g., `users`)? · items
✔ What transport layer do you use? · graphql-code-first
✔ Would you like to generate CRUD entry points? (Y/n) · false
Foi adicionado Imports
no app.module principal:
@Module({
imports: [
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
playground: false,
plugins: [ApolloServerPluginLandingPageLocalDefault()],
autoSchemaFile: "schema.gql",
}),
ItemsModule,
],
})
export class AppModule {}
Em seguida, adicionei um resolvedor simples para deixar o GraphQL satisfeito:
// ./items/items.resolver.ts
import { Int, Query, Resolver } from "@nestjs/graphql";
import type { ItemsService } from "./items.service";
@Resolver()
export class ItemsResolver {
constructor(private readonly service: ItemsService) {}
@Query(() => [Int])
getAll() {
return [1, 2, 3];
}
}
Então meu items.module fica assim:
import { ItemsResolver } from "./items.resolver";
import { ItemsService } from "./items.service";
@Module({
providers: [ItemsResolver, ItemsService],
})
export class ItemsModule {}
o que é bastante válido para mim. Mas mesmo assim, ainda estou conseguindo
Error: Nest can't resolve dependencies of the ItemsResolver (?). Please make sure that the argument Object at index [0] is available in the ItemsModule context.
Se eu remover o serviço da ItemsResolver
classe, tudo funcionará bem.