Javascript 如何在GraphQL模式中使用中继连接进行变异
我试图在graphql模式中使用graphql中继连接定义,以便在我的变异调用中添加边和节点 我的项目上下文:我有一个自定义字段对象,我需要用下面的调用更新和显示它Javascript 如何在GraphQL模式中使用中继连接进行变异,javascript,graphql,relayjs,relay,graphql-js,Javascript,Graphql,Relayjs,Relay,Graphql Js,我试图在graphql模式中使用graphql中继连接定义,以便在我的变异调用中添加边和节点 我的项目上下文:我有一个自定义字段对象,我需要用下面的调用更新和显示它 const CustomFieldDefinition = new GraphQLInputObjectType({ name: 'CustomFieldDefinitions', fields: { schem: {
const CustomFieldDefinition = new GraphQLInputObjectType({
name: 'CustomFieldDefinitions',
fields: {
schem: {
type: GraphQLString
},
deleted: {
type: GraphQLBoolean
},
associatedEntityTypes: {
type: GraphQLString
},
name: {
type: GraphQLString
},
id: {
type: GraphQLID
}
}
})
const { connectionType: Common_CustomFieldDefinitionConnection } =
connectionDefinitions({
name: 'Common_CustomFieldDefinitionEdge',
nodeType: CustomFieldDefinition
});
const createCommon_CustomFieldDefinition = mutationWithClientMutationId({
name: 'CreateCommon_CustomFieldDefinition',
inputFields: {
customFieldDefinition: {type: Common_CustomFieldDefinitionConnection},
clientMutationId: {type: GraphQLString}
},
outputFields: {
customFieldDefinition: {
type: CustomFieldDefinition,
resolve: (obj) => {
return (obj.customFieldDefinitions[obj.customFieldDefinitions.length-1])
}
}
},
mutateAndGetPayload: (params) => {
return Promise.resolve(
updateCustomField(params) // Think of it as a method which update all custom fields.
);
}
});
const Mutation = new GraphQLObjectType({
name: 'Mutation',
fields: {
createCommon_CustomFieldDefinition: createCommon_CustomFieldDefinition
}
});
const mySchema = new GraphQLSchema({
mutation: Mutation
});
module.exports = mySchema;
这就是我正在努力实现的突变呼叫
mutation {
createCommon_CustomFieldDefinition(input:{
clientMutationId: "1442",
commonCustomFieldDefinition: {
name: "Vamsi_date",
schem: "Anything",
associatedEntityTypes :"CUSTOMER"
}
}) {
clientMutationId
commonCustomFieldDefinitionEdge{
node{
name
id
schem
}
}
}
}
我在这里面临的问题是,每当我启动服务器时,都会出现错误
Error: CustomFieldDefinition.customFieldDefinitions field type must be Input Type but got: Common_CustomFieldDefinitionEdgeConnection.
我如何解决这个问题?我想我在下面的代码中做错了什么
const { connectionType: Common_CustomFieldDefinitionConnection } =
connectionDefinitions({
name: 'Common_CustomFieldDefinitionEdge',
nodeType: CustomFieldDefinition
});
我猜inputFields不能是customType不,它可以是customType,我过去也尝试过,我猜graphql中是,但我猜graphql中继器中不是,输入字段的连接
边,节点。真的吗???@p0k8_u我刚刚编辑了qn上面的突变调用。因此,根据突变调用,我希望commonCustomFieldDefinitionEdge与node一起使用,我们不需要中继连接吗?好的,想象一下,您的输入字段=参数如何查看突变dGetPayload:(params)
,只需将预期对象放入参数中即可