如何在Hasura Actions中使用自定义对象输入类型?
Hasura 完全支持自定义输入类型,你遇到的400报错是不符合GraphQL基础语法规范导致的,并非Hasura的功能限制。
- GraphQL 规范明确要求仅用
input关键字声明的类型可作为输入参数使用,你当前定义的UserInfo是用type声明的输出类型,天然不能用于输入字段的类型声明。
你需要额外定义一个输入专用的同结构类型即可,完整的类型定义参考如下:
# 输入专用的UserInfo类型 input UserInfoInput { accessToken: String! userId: Int! } # 引用自定义输入类型的PurchaseInput input PurchaseInput { user: UserInfoInput! } # 原有输出用的UserInfo类型可正常保留,两者互不冲突 type UserInfo { accessToken: String! userId: Int! }
除了单层嵌套自定义输入类型外,Hasura也支持输入类型的多层嵌套、输入类型数组等用法,不存在仅能使用基础类型的限制。
内容的提问来源于stack exchange,提问作者f7n
相关产品推荐
相关产品推荐

