Добавить данные в запрос, который не в типе - PullRequest
0 голосов
/ 10 февраля 2020

Я работаю над небольшим личным проектом, который экспортирует данные из Rest API и предоставляет их через Graphql.

Я получил мой тип:

type Team{
    id: ID,
    name: String,
    code: String
}

, и запрос настроен так: Фильтры

type Query {
  teams(id: ID, name: String, code: Int): [Team]
}

Query: {
  teams: (_, filters) => footballService.getTeams(filters),
}

содержат все аргументы, переданные во время вызова, например teams(id: 100)

Моя проблема в том, что если я хочу получить список команд из API, мне нужно передать идентификатор соревнования. , Так есть ли способ сделать звонок, например teams(id: 100, competitionId:200) без добавления competitionID в моей команде типа

1 Ответ

2 голосов
/ 10 февраля 2020

Параметры, которые вы определяете для запроса вашей команды, не обязательно должны совпадать с атрибутами типа вашей команды. Это возможно:

type Team {
    id: ID,
    name: String,
    code: String
}

type Query {
  teams(id: ID, name: String, code: Int, competitionId: Int): [Team]
}

Query: {
  teams: (_, filters) => footballService.getTeams(filters),
}

Обычно у вас будет что-то подобное для разбивки на страницы, например, если эти поля не являются частью типа модели:

type Query {
  teams(
    filter: String
    skip: Int
    first: Int
    orderBy: String
  ): [User!]!

Однако вы должны убедиться, что ваш распознаватель (например, getTeams) правильно обрабатывает эти параметры.

...