我正在使用内省性来查询InputType,以一般性地创建用于更改实体的表单。
query introspection($updateInputName: String!) {
__type(name: $updateInputName) {
inputFields {
name
type {
name
kind
ofType {
kind
name
}
}
}
}
}
据我了解,type.kind信息对于必需/非空字段应该返回NON_NULL。但是我收到了SCALAR,...
如何获取有关查询的inputField的必填字段的信息?
答案 0 :(得分:1)
如果该字段不可为空,则kind
字段将确实解析为NON_NULL
。如果看到SCALAR
,则该字段为空。
这是每种包装类型组合的内省结果的样子:
Int
"type": {
"name": "Int",
"kind": "SCALAR",
"ofType": null
}
Int!
"type": {
"name": null,
"kind": "NON_NULL",
"ofType": {
"name": "Int",
"kind": "SCALAR",
"ofType": null
}
}
[Int!]
"type": {
"name": null,
"kind": "LIST",
"ofType": {
"name": null,
"kind": "NON_NULL",
"ofType": {
"name": "Int",
"kind": "SCALAR",
"ofType": null
}
},
}
[Int!]!
"type": {
"name": null,
"kind": "NON_NULL",
"ofType": {
"name": null,
"kind": "LIST",
"ofType": {
"name": null,
"kind": "NON_NULL",
"ofType": {
"name": "Int",
"kind": "SCALAR",
"ofType": null
}
},
}
}