我正在创建一个基于Nestjs(代码优先方法)和pyramida用于数据库管理的graphql api。我遵循了nestjs的官方页面,并成功创建了用于容纳我的查询,订阅和变异的解析器。我的第一个查询工作正常,没有任何问题。但是,在创建突变后,创建的突变不会提示输入任何参数,并且graphql游乐场不会在我的突变请求中指出错误。 此突变负责创建用户,并应采用两个参数来成功完成操作。
我曾尝试使用架构优先方法重新创建变异,但是应用在启动期间崩溃。我还尝试向该突变添加名称属性,但仍然没有任何反应。
这是我的变异
TextView tvName = findViewById(R.id.tv_name);
tvName.setText("Your Include layout ID access and set Text in this textView");
和用户服务
@Mutation(returns => User, { name: 'createUser' })
async createUser(args) {
return await this.userService.createUser(args);
}
该突变应在细分前提示两个参数,在细分后应在db中创建一个用户实例
答案 0 :(得分:0)
我创建了
之类的UserInput类import { InputType, Field } from 'type-graphql';
@InputType()
export class UserInput {
@Field() name: string;
@Field() email: string;
}
并将我的解析器更改为
import {Args} from '@nestjs/graphql';
import {UserInput} from './path-to-the-user-input-class-created';
@Mutation(returns => User, { name: 'createUser' })
async createUser(@Args('data') user: UserInput) {
return await this.userService.createUser(user);
}
有了这一更改,我的突变现在可以按预期运行。它会提示您输入必需的变量,并完成提交过程。