0

GraphQL スキーマを持つ:

type TypeA {
   id: ID,
   name: String,
   other: TypeC
}

type TypeB {
   id: ID,
   name: String,
   other: TypeC
}

ソース オブジェクト タイプとは別に TypeC ワイヤリングを実装するにはどうすればよいですか? 私はできることを知っています:

RuntimeWiring.newRuntimeWiring()
  .type(TypeRuntimeWiring.newTypeWiring("TypeA")
    .dataFetcher("other", dataFetcher_typeC.get())
  .type(TypeRuntimeWiring.newTypeWiring("TypeB")
    .dataFetcher("other", dataFetcher_typeC.get())
  .build()

ただし、データ フェッチャーはソース オブジェクト タイプに依存します。

DataFetcher<CompletableFuture<Collection<TypeC>>> get() {
  return dataFetchingEnvironment -> {
    <??> sourceObj = dataFetchingEnvironment.getSource();
    return getObject(sourceObj.someProperty);
  };
}

両方の POJO (TypeA と TypeB) が TypeC への参照フィールドを持っている場合、ソース オブジェクトではなく、指定された参照によって TypeC フィールドを解決する方法は?

4

2 に答える 2