我选择了使用 Prisma、TypeGraphql 和 Koa 的 Ts.ED 应用程序的默认安装。 它为 graphql 创建了一个标准配置,如下所示:
export const config: Partial<TsED.Configuration> = {
version: pkg.version,
envs,
logger: loggerConfig,
graphql: {
default: {
path: "/graphql",
buildSchemaOptions: {
},
}
},
// additional shared configuration
};
我有一个用户解析器和一个简单的注册突变;
@ResolverService()
export class UserResolver {
// ...
@Mutation(() => User)
async signUp(
@Arg('username') username: string,
@Arg('email') email: string,
@Arg('password') password: string,
): Promise<User> {
// const ipAddr = ... <- trying to get ip address of requester
return this.userService.signUp(ipAddr, email, password, username)
}
}
我尝试注入
@Ctx()
但它里面没有请求数据(或者我找不到)。
此外,当我使用可根据请求注入的服务时,我可以借助中间件将其字段设置为上下文。但是当我试图从解析器访问它时,它的上下文字段变为空。