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 フィールドを解決する方法は?