Dataloader для атрибутов, не находящихся на верхнем уровне, не работает

Я использую платформу Netflix DGS для создания службы java graphqQL. Я попытался использовать загрузчик данных (https://netflix.github.io/dgs/data-loaders/), и он отлично работает, пока родительский тип является атрибутом верхнего уровня (т.е. непосредственным дочерним элементом Query).

Например, рассмотрим следующую схему:

      type Person{
  location: Location
  preferences: Preferences
}

type Location {
   x: Int
}

type Preferences {
  typeA: TypeAPreferences
  typeB: TypeBPreferences
}

Если я попытаюсь использовать загрузчик данных для дочернего элемента уровня 1, он будет работать нормально, например:

      @DgsData(parentType = "Person" field="location")
public Location loadLocation(DgsDatafetchingEnvironment dfe){
  ... //use data loader here

Однако, если родительский тип не является уровнем 1, загрузчик данных никогда не вызывается (ошибки не возникают). Пример:

      @DgsData(parentType = "Preferences" field="typeA")
public TypeAPreferences loadTypeAPreferences(DgsDatafetchingEnvironment dfe){
... //use data loader here

Хотите знать, смогли ли другие успешно выполнить эту работу, и есть ли что-то, чего мне здесь не хватает, из-за чего она не работает?

1 ответ

Я просто делал что-то глупое - у меня были неправильно заполнены родительский тип и атрибуты поля.

Другие вопросы по тегам