我正在探索GraphQL,想知道是否有任何重命名响应字段的方法,例如我有一个POJO与这些字段
class POJO {
Long id;
String name;
}
GraphQL查询:
type POJO {
id: Long
name: String
}
我的回答是这样的
{
"POJO" {
"id": 123,
"name": "abc"
}
}
我是否可以将名称字段重命名为类似用户名的名称,以便我的回答如下
{
"POJO" {
"id": 123,
"userName": "abc"
}
}
看起来GraphQLName注释可以提供帮助。
文档中的示例:“此外,@GraphQLName可用于重写字段名。您可以使用@GraphQLDescription设置描述。”
这些参数也可用于字段参数:
public String field(@GraphQLName("val") String value) {
return value;
}
问题是:首先如何创建模式?Java和GraphQL类型之间没有内在联系——除非您将它们关联起来,否则它们是完全不相关的。因此,您可以在模式中以任何您想要的方式命名字段,并制作一个解析器(DataFetcher
),从任何地方获取值(因此任何POJO字段也是如此)。
如果您使用工具从Java类型(graphql Java注释、graphql spqr等)生成模式,那么使用该工具的工具来驱动映射。上述两种工具都允许通过注释自定义映射。GraphQL SPQR也可通过外部配置实现相同功能。
如果你进一步澄清你的问题,我将能够给出更准确的答案。
您可以使用GraphQL别名来修改JSON响应中的各个密钥。
如果这是您的原始查询
query {
POJO {
id
name
}
}
您可以为字段name
引入GraphQL别名userName
,如下所示:
query {
POJO {
id
userName: name
}
}
您还可以使用GraphQL别名在同一GraphQL操作中多次使用同一查询或变异字段。使用字段参数时,此get特别有趣:
query {
first: POJO(first: 1) {
id
name
}
second: POJO(first: 1, skip: 1) {
id
name
}
}
我使用的是,我需要展平包含同名字段的文档。 我创建的文档如下所示: 在那之后,我试图像下面这样压平文档: 我的主要方法是: 展平后,我得到的文档包含一个展平字段,但我必须得到两个展平字段。 如何解决此问题?
我有一个PDF文件,其中包含一个表单,其中的字段具有相同的字段名。这是为了共享文档中的数据而做的。例如,我有合同,此文档的每一页都必须有公司名称,我将公司名称写在一个表单字段中,并将其复制到当前文档的所有页面,但是当我尝试使用库阅读此文档时,我没有得到此数据,因为只创建一个字段名为的字段,而另一个字段名为clean。 如何使用库读取具有相同字段名称的字段?
问题内容: 我正在使用nodejs查询mongodb,并希望输出带有自定义字段名称的json。 例如,来自MongoDB的原始json可能 我想将其输出为 我了解MongoDB在其聚合框架中具有$ project运算符,但不确定如何在NodeJS中使用它们。 我正在使用的mongodb nodejs软件包是 对此有任何建议。 问题答案: 如果您使用的是和尚,则可以通过所选集合对象上的访问器来访问基
问题内容: Jackson json注释中以下jax-b注释的等效方式是什么? 我需要生成json而不是xml,并且需要了解在jax-b中等效表示的常规jackson批注。 重命名字段。 使用getter代替字段。 如果json / xml元素名称是Java保留字(例如“ ”,“ ”,“ ”等),则这些功能尤其重要。 因此我们必须将POJO字段分别命名为“ new ”,“ _ public ”,“
问题内容: 我有一个程序,需要在其中将文件夹内容(从)复制到同一目录级别(路径)中的新文件夹()。由于无法提供相同的名称,因此我使用tmpFolder名称(用于)。完成所有逻辑后,需要压缩复制的文件夹,并给zip命名 ,问题是当我解压缩时 看到。 我希望它在拉链之后。 我可以使用一些技巧吗? 另外,我知道我可以复制到不同级别(路径)的folder2中,但是我想尽可能避免复制,因为在处理大文件夹内容
问题内容: 我想解析一个json文件,但它经过这样的事情: 但是大约有三千个这样的对象。我一直在使用Gson解析我的json对象,但是我怎么解析这种文件呢?以及如何检索名称“ CDG”或“ ORY”? 问题答案: 您可以尝试如下操作: 使用gson,您可以按以下方式检索键名: 并使用java- json 可以执行以下操作: 从网址获取json: