Datafetcher для вложенных типов в graphql - PullRequest
0 голосов
/ 24 января 2019

Я использую 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 голосов
/ 24 января 2019

Не уверен насчет вашего кода распознавателя (который мне подходит) и надеюсь, что он разрешает 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"}]}
...