graphql-spqr:如何将 GraphQL 属性 添加到实体
graphql-spqr: How to add a GraphQL property to an entity
我有一个基本的 Java 实体 class。
public class Result {
String resultTitle;
String resultDecription;
}
此 class 在 GraphQL 查询中 return 编辑
@GraphQLQuery(name = "getResult")
public Result getResult() {
Result result = //get result, e.g. from DB
return result;
}
到目前为止一切正常。现在我想 return 在 GraphQL 查询中增加一个属性。但该附加属性的计算成本非常昂贵。所以我只想 return 它,当 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);
}
我有一个基本的 Java 实体 class。
public class Result {
String resultTitle;
String resultDecription;
}
此 class 在 GraphQL 查询中 return 编辑
@GraphQLQuery(name = "getResult")
public Result getResult() {
Result result = //get result, e.g. from DB
return result;
}
到目前为止一切正常。现在我想 return 在 GraphQL 查询中增加一个属性。但该附加属性的计算成本非常昂贵。所以我只想 return 它,当 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);
}