Hasura Graphql v2.35插入突变报500错误,日志提示InvalidUrlException求助
结合你提到的仅对该实体做过权限变更、其他查询/突变正常的情况,这个InvalidUrlException大概率和该实体的权限配置关联,以下是具体排查方向:
权限规则中配置了无效的Webhook/Action URL
若你为该实体的insert权限设置了行级权限的Webhook校验,或关联了需调用外部服务的自定义Action,但配置的URL为空字符串、缺少http/https前缀、域名拼写错误,Hasura触发权限校验或Action时就会抛出该错误。
排查路径:Hasura控制台→数据→对应表→权限→insert权限规则,检查是否有Webhook权限条件,或该突变关联的Action的URL配置是否合法。动态URL变量解析失败
若权限规则使用了动态变量(如{{$session.user.webhook_url}})拼接Webhook URL,当变量值为空、或解析后生成的URL格式无效(比如含未转义的特殊字符),也会触发错误。
排查路径:检查会话变量的传递是否正常,动态变量的取值是否符合URL格式要求,确认是否存在空值或非法字符。元数据异常导致URL配置损坏
权限变更过程中可能出现元数据异常,比如权限规则的URL字段被意外清空或写入非法值,但控制台显示正常。
排查路径:导出该表的元数据(控制台→设置→导出元数据),搜索该表的insert权限配置,查看是否存在空的webhook字段或格式错误的URL字符串;若发现异常,手动修正后重新导入元数据。远程Schema关联的URL失效
若该实体的insert权限关联了远程Schema,而远程Schema的URL被误删、修改或无法访问,Hasura处理突变时调用远程服务就会报错。
排查路径:控制台→远程Schema→对应Schema的URL,测试连接是否正常。
内容的提问来源于stack exchange,提问作者iamsujit

