Sky*_*ter 3 graphql graphql-js
在编写查询时,我可以在任何字段上定义一个解析器,并且该字段的值将由其解析器确定,而与查询深度无关。
但是,当编写突变时,我似乎只能在根级别定义解析器。在我的args或输入类型的字段中添加resolve方法似乎没有任何影响。
处理突变中的嵌套输入的最佳方法是什么?
您在突变中嵌套输入是什么意思?GraphQL输入类型没有解析器。使用解析器,您只需确定如何获取结果。例如,如果您想使用嵌套输入,那么我也想用company创建用户。然后,我将CreateUserInput CreateCompanyInput在SDL中定义像这样的类型
input CreateCompanyInput {
name: String!
type: CompanyEnum!
}
input CreateUserInput {
username: String!
firstname: String!
lastname: String!
company: CreateCompanyInput!
}
type Mutation {
createUser(input: CreateUserInput!): User
}
Run Code Online (Sandbox Code Playgroud)
这样,我基本上是在嵌套参数,并且可以实现更复杂的变异。另外CreateCompanyInput,createCompany即使我需要突变,我也可以重复使用for 突变。然后,即使CreateCompanyInput将createUser解析器作为输入参数,我也将拥有整个CreateUserInput 。我可以应用事务,因为我将创建两个新记录,等等。如果您要表达其他含义,请不确定它是否是嵌套输入的含义。请让我知道:)
| 归档时间: |
|
| 查看次数: |
2976 次 |
| 最近记录: |