Slide 22
Slide 22 text
/XJUIHSBQIRMKBWBTUBSUFS
@Component
class DrugResolver : GraphQLResolver {
@Suppress("unused")
fun getCompanies(drug: Drug, env: DataFetchingEnvironment): CompletableFuture>? {a
return env
.getDataLoader>(“key_companies_by_drugs_id”)
.load(drug.companyId)
}a
}b
val context = GraphQLContext(httpServletRequest, httpServletResponse)
context.setDataLoaderRegistry(
DataLoaderRegistry().register(
“key_companies_by_drugs_id”,
DataLoader.newDataLoader { companyIds, _ ->
CompletableFuture.supplyAsync {
// SELECT * FROM company where company_id in (1, 2, 3)
drugService.getCompanyByIds(companyIds)
}d
}c
)b
)a
return context