当前位置: 首页 > 知识库问答 >
问题:

内省时获取必填/非空字段

华烈
2023-03-14

我使用自省来查询输入类型,以创建一个表单来更改实体。

query introspection($updateInputName: String!) {
  __type(name: $updateInputName) {
    inputFields {
      name
      type {
        name
        kind
        ofType {
          kind
          name
        }
      }
    }
  }
}

就我所理解的类型而言。对于必填/非空字段,种类信息应返回非空。但我收到了标量。。。

如何获取查询的inputField的必填字段信息?

共有1个答案

茅昀
2023-03-14

如果字段不可为空,kind字段确实将解析为NON_NULL。如果看到的是标量,则该字段可为空。

下面是每个包装类型组合的内省结果:

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
      }
    },
  }
}

 类似资料:
  • 问题内容: 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为空,那么它应该返回空字符串,我用番石榴做过; 但是如果gearbox为null,则返回null!非空字符串,因为valueOf methdod返回字符串“ null”,这会导致错误。 有任何想法吗? EDIt:有100多个字段,我正在寻找易于实现的字段 问题答案: 您可以使用(Java 7中的标准): 从链接

  • 我知道这个问题。 由于其高效的编码、显式模式和广泛的支持,我正在考虑将原型3用于文件格式。然而,模式中非常不方便的一部分是它不允许必填字段。 谷歌有理由删除Protobuf 3中的必填字段。他们遇到的问题是真实的(删除必填字段是一个突破性的改变),但他们的解决方案是胡说八道。 无论如何,我的问题是:Protobuf 3允许您为字段添加自定义选项。是否有人使用该方法(或其他方法)向Protobuf

  • 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为null,那么它应该返回空字符串,我对GUAVA就是这样做的; 但如果齿轮箱为空,则返回空!不是空字符串,因为valueOf MethodOd返回字符串“null”,这会导致错误。 有什么想法吗? 编辑:有100s字段我寻找一些容易实现的东西

  • 我使用了Gson,但我需要转换器只序列化非空值或非空值。 例如: 现在,将该对象转换为json的Gson实例如下所示

  • 问题内容: 与可选字段相比,应如何处理? 由于所有字段都是可选的,因此我无法根据响应json是否包含某些密钥来真正使我的网络请求失败,只需将其解析为null。 我正在使用的方法 例如,如果我有以下json: 而我的班级: 如果json不包含或不包含密钥,是否有任何选择会失败? 在许多情况下,您可能至少需要解析一些值,而其他值是可选的? 是否有任何模式或库可用于全局处理这种情况? 谢谢。 问题答案:

  • 问题内容: 我从我的android应用程序中的新功能开始,这将有助于填写某些PDF表格。 我发现最好的解决方案是使用iText库。 我可以读取文件,也可以从文档中读取AcroFields,但是是否有可能发现特定字段标记为必填项? 我试图在API文档和Internet上找到此选项,但是没有什么可以帮助解决此问题。 问题答案: 请查看我的书的 13.3.4节,标题为“ AcroForms重新访问”。清