我有一个使用tinjector和RESTFul API的项目。现在我应该使用类型- GraphQL添加一个GraphQL API,但在我们的文档中没有使用它的一些示例。
是否有可能使用注射器使DI与TypeGraphQL?
是的,这是可能的!
大多数IOC容器都有get
函数来检索给定类类型的实例。而tsyringe
具有resolve
的功能。因此,在构建模式时必须更改container
选项,以指示type-graphql
如何从类类型检索(获取)类实例:
import { container } from 'tsyringe';
const schema = await buildSchema({
// ...
container: { get: (cls) => container.resolve(cls) }
});