1

我有一个基本的 Java 实体类。

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完成吗?

4

1 回答 1

1

哦,那其实很简单。只需要从graphql-spqr-examples中挖掘出正确的示例。

    @GraphQLQuery(name = "costlyAdditionalProp ")
    public Long getCostlyAdditionalProp (@GraphQLContext Result result) {
        return calculationService.doCalculation(result);
    }
于 2021-03-05T10:23:33.747 回答