gpt4 book ai didi

graphql-spqr - GraphQL SPQR - 如何获取客户端使用查询请求的字段列表

转载 作者:行者123 更新时间:2023-12-03 21:56:20 29 4
gpt4 key购买 nike

有没有办法检索客户端在 GraphQL 查询中请求的字段列表?

假设我有以下类型:

type Book {

isbn: String
title: String
genre: String
author: Author
}

type Author {

name: String
surname: String
age: Int
}


在使用@GraphQLQuery 注释的方法中,Java 端是否有办法知道客户端请求的字段?

例如,有以下查询:

query {

book ( isbn = "12345" ) {

title
genre
}
}

query {

book ( isbn = "12345" ) {

title
author {

name
surname
}
}
}


我可以知道第一个查询请求书的标题和流派字段
以及书籍中第二个必需的标题以及作者的姓名和姓氏?

谢谢
马西莫

最佳答案

您可以通过 @GraphQLEnvironment 获取此信息.如果您只需要直接子字段,则可以注入(inject)如下名称:

@GraphQLQuery
public Book book(String isbn, @GraphQLEnvironment Set<String> subfields) {
...
}

如果您想要所有子字段或其他选择信息,您可以注入(inject) ResolutionEnvironment并获取 DataFetcherEnvironment从那里。这反过来又使您可以访问整个 SelectionSet .
@GraphQLQuery
public Book book(String isbn, @GraphQLEnvironment ResolutionEnvironment env) {
DataFetchingFieldSelectionSet selection = env.dataFetchingEnvironment.getSelectionSet();
...
}

关于graphql-spqr - GraphQL SPQR - 如何获取客户端使用查询请求的字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61667896/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com