You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter调用Hasura GraphQL端点报uuid类型输入语法无效错误

GTMSessionFetcher invoking fetch callbacks, data {length = 3322, bytes = 0x7b0a2020 22616363 6573735f 746f6b65 ... 31303535 220a7d0a }, error (null)

flutter: OperationException(linkException: null, graphqlErrors: [GraphQLError(message: invalid input syntax for type uuid: "", locations: null, path: null, extensions: {path: $.selectionSet.insert_member_one.args.object, code: data-exception})])
根因说明

该报错与Firebase JWT的传递校验无关,属于数据插入时的类型不匹配错误:你发起insert_member_one变更请求时,给member表中某个UUID类型的字段传入了空字符串,PostgreSQL无法将空字符串识别为合法UUID值,因此抛出数据异常。

排查步骤
  • 核对member表结构,找到所有字段类型为UUID的字段,通常这类字段为user_id、id等主键或外键字段
  • 检查你构造插入请求时传入的对应字段值,确认取值逻辑是否存在问题:常见问题包括从JWT Payload中取用户ID时字段名拼写错误、JWT解码失败导致取到空值、变量赋值逻辑异常
  • 若该UUID字段允许为空,不要传入空字符串,要么省略该字段不传,要么显式传入null值,PostgreSQL不接受空字符串作为UUID类型的合法输入
  • 可先硬编码一个合法UUID值到对应字段发起请求,验证插入逻辑正常后,再替换为从JWT动态取值的逻辑
常见适配问题

如果你的UUID字段用来存储Firebase Auth的用户uid,注意部分Firebase项目生成的uid不是标准UUID格式,这种情况有两种解决方式:要么修改表字段类型为text适配Firebase uid格式,要么在Firebase的JWT自定义声明中额外写入符合UUID规范的用户标识。

内容的提问来源于stack exchange,提问作者Abdullah Hamadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:15:03