如何使用spring-spqr graphql-spqr-spring-boot-starter graphQL的注释创建片段

时间:2020-05-04 15:53:51

标签: java graphql-java graphql-spqr graphql-spqr-spring-boot-starter

使用 graphql-spqr-spring-boot-starter graphql-spqr ,但无法使用@GraphQLDirective创建Fragment,不确定是否可以这样做。

我的目的是通过

之类的代码创建Fragment
@Data
@GraphQLFragment
public class ProfileFields{
 private String name;
 private String emailId;
 private String phoneNo;
}

并在下面的查询中使用此片段,有人可以指导我使用哪些注释

{
  profile(id: "101"){
    ...ProfileFields
  }
}

1 个答案:

答案 0 :(得分:0)

这不是GraphQL的工作方式。片段由客户端临时定义的。您无法在服务器上提前定义它们。片段的定义是查询的一部分。您无需(或可以)在服务器上执行任何操作即可使片段正常工作。

客户端可以发送查询,例如:

{
  profile(id: "101") {
    ... ProfileFields
  }
}

fragment ProfileFields on Profile {
  name
  registrationDate
}

对于@GraphQLDirective,它用于定义模式(服务器端)指令。指令与片段无关。