这个错误通常是由于schema中定义的类型与resolver函数的返回类型不一致导致的。在schema中定义的字段可能是非可为 null类型,但是resolver函数可能返回null。解决方法就是保证resolver函数返回的数据类型与schema中定义的类型一致。
以下是一个示例,如果在schema中定义一个非可为null的字段,在resolver函数中返回了null,就会出现这个错误:
type Query {
getUser(id: ID!): User!
}
type User {
id: ID!
name: String!
}
// resolver function
const resolvers = {
Query: {
getUser: (parent, args, context, info) => {
return null; // 此处返回了null,导致错误
}
}
};
解决方法是确保resolver函数返回的数据类型与schema中定义的类型一致。修改上面的resolver函数,返回一个空的User对象,代码如下:
// modified resolver function
const resolvers = {
Query: {
getUser: (parent, args, context, info) => {
return { id: args.id, name: '' }; // 返回空的User对象,确保返回的是非 null 类型
}
}
};
上一篇:AppSync+ DynamoDB:提供的键元素与模式不匹配(服务:AmazonDynamoDBv2;状态码:400;错误代码:ValidationException;
下一篇:AppSync/Amplify查询使用参数错误:“Validation error of type FieldUndefined:”