如何使用不同的名称公开graphql字段

Ami*_*mar 12 graphql graphql-java

我正在探索GraphQL,并想知道是否有任何方式重命名响应字段,例如我有一个POJO与这些字段

class POJO {
  Long id;
  String name;
}
Run Code Online (Sandbox Code Playgroud)

GraphQL查询:

type POJO {
  id: Long
  name: String
}
Run Code Online (Sandbox Code Playgroud)

我的回答是这样的

{
  "POJO" {
    "id": 123,
    "name": "abc"
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以将名称字段重命名为userName,以便我的响应在下面

{
  "POJO" {
    "id": 123,
    "userName": "abc"
  }
}
Run Code Online (Sandbox Code Playgroud)

mar*_*ani 29

您可以使用GraphQL别名来修改JSON响应中的各个键.

如果这是您的原始查询

query {
  POJO {
    id
    name
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以userName为字段引入GraphQL别名,name如下所示:

query {
  POJO {
    id
    userName: name
  }
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用GraphQL别名在同一GraphQL操作中多次使用相同的查询或变异字段.使用字段参数时,这一点特别有趣:

query {
  first: POJO(first: 1) {
    id
    name
  }

  second: POJO(first: 1, skip: 1) {
    id
    name
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我不想更改我的查询,我在想在从后端返回结果之前是否可以将该字段映射到不同的名称,这可能吗? (3认同)