【问题标题】:how to create fragments using Annotations of spring-spqr graphql-spqr-spring-boot-starter graphQL如何使用 spring-spqr graphql-spqr-spring-boot-starter graphQL 的注释创建片段
【发布时间】:2020-08-19 02:54:30
【问题描述】:

使用 graphql-spqr-spring-boot-startergraphql-spqr 但无法使用 @GraphQLDirective 创建 Fragment,不确定是否有办法.

我的意图是通过像

这样的代码来创建片段
@Data
@GraphQLFragment
public class ProfileFields{
 private String name;
 private String emailId;
 private String phoneNo;
}

并在下面的查询中使用这个片段,有人可以指导我使用什么注释

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

【问题讨论】:

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


    【解决方案1】:

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

    客户端可以发送如下查询:

    {
      profile(id: "101") {
        ... ProfileFields
      }
    }
    
    fragment ProfileFields on Profile {
      name
      registrationDate
    }
    

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

    【讨论】:

    • 感谢@kaqqao 我的问题是我们如何使用 GraphQL SPQR 完成片段,请您帮我找到答案。
    猜你喜欢
    • 2020-10-01
    • 2021-02-07
    • 2020-11-16
    • 2021-08-31
    • 2021-07-25
    • 2020-07-07
    • 2021-05-28
    • 2023-03-21
    • 2018-10-07
    相关资源
    最近更新 更多