graphql中用于嵌套类型的Datafetcher

时间:2019-01-24 17:59:30

标签: graphql graphql-java

我正在将graphql和graphql-java用于获取项目及其受让人的简单API

schema {
  query: Query
}

type Query {
   projects: [Project]
   users: [User]
}

type Project {
   id: ID!
   name: String
   assignee : User
   status: String

}

type User {
   id: ID!
   name: String
}

我已经有以下解析器:

private RuntimeWiring buildRunTimeWiring() {
return RuntimeWiring.newRuntimeWiring()
    .type("Query", typeWiring -> typeWiring
    .dataFetcher("projects", allProjectsDataFetcher)
    .dataFetcher("users", allUserDataFetcher)
    ).build();
}

我应该如何编写我的解析器,以便在查询时

projects {
  id
  name
  assignee
}

它应该返回项目及其受让人。甚至有可能吗?

1 个答案:

答案 0 :(得分:0)

不确定您的解析程序代码(对我来说看起来不错),并希望其解析该对象内的Project和关联的受让人,我在您的graphQL模式中看到问题(如果您希望得到用户列表)。它看起来应该像...

type Project {
   id: ID!
   name: String
   assignee : [User]
   status: String
}

确保返回的对象应类似于

{id:1, name:"someName",status:"Active", assignee :[{id:003, name:"A"}, {id:004, name:"B"}]}