如何在Grafbase中更新整数?更新时遇对象类型错误求助
解决Grafbase更新整数时"Expected an Object for"错误
排查方向及解决方法
检查更新传参的结构
这个错误核心是传入的$input不符合PetUpdateInput的类型定义。比如你要更新的整数字段(如age)是PetUpdateInput的直接属性,那必须把整数包装在对应字段的对象里,不能直接传原始值:
错误示例:// 错误:直接传入整数,未包装为对象 const variables = { id: "pet_xxx", input: 3 };正确示例:
// 正确:将整数放在input对象的对应字段中 const variables = { id: "pet_xxx", input: { age: 3 } };修正mutation的语法缩进
你提供的mutation代码里,createdBy字段的缩进存在问题,可能导致Grafbase解析时出现异常。修正后的代码:export const updatePetMutation = ` mutation UpdatePet($id: ID!, $input: PetUpdateInput!) { petUpdate(by: { id: $id }, input: $input) { pet { name id createdBy { email name } } } } `;确认
PetUpdateInput的类型定义
登录Grafbase控制台查看PetUpdateInput的结构,确保你要更新的整数字段被定义为Int标量类型,而非嵌套对象。如果字段是嵌套对象类型,传入时必须匹配对应的对象结构,不能直接传整数。
内容的提问来源于stack exchange,提问作者soger
相关产品推荐
相关产品推荐

