问题描述
public class Result {
String resultTitle;
String resultDecription;
}
此类在 GraphQL 查询中返回
@GraphQLQuery(name = "getResult")
public Result getResult() {
Result result = //get result,e.g. from DB
return result;
}
到目前为止,这工作正常。现在我想在 GraphQL 查询中返回一个额外的属性。但该附加属性的计算成本非常高。所以我只想返回它,当 GraphQL 客户端在他的查询中实际请求它时:
-
query { getResult() { resultTitle resultDecription } }
-
query { getResult() { resultTitle resultDecription costlyAdditionalProp } }
这可以用 graphql-spqr 完成吗?
解决方法
哦,那其实很简单。只需要从 graphql-spqr-examples 中挖掘出正确的例子。
@GraphQLQuery(name = "costlyAdditionalProp ")
public Long getCostlyAdditionalProp (@GraphQLContext Result result) {
return calculationService.doCalculation(result);
}