【发布时间】:2020-05-29 08:46:57
【问题描述】:
我正在为我的 GraphQL Clojure 服务器使用 lacinia 库。
对于这个简单的架构:
input QueryConfig {
startDate: String!
endDate: String!
}
type MyData{
x: Float!
y: Float!
z: Float!
}
schema {
query: Query
}
type Query {
myQuery(config:QueryConfig) : [MyData]
}
我发布以下查询:
{
myQuery(config:{startDate:"2020-01-01",endDate:"2020-01-01"}){
x
}
}
在我的解析器代码中,我想知道询问了哪些字段(上面示例中的 x),因此我不会从我的数据库中过度获取结果并仅检索 x 值。
在解析器代码中,上下文包含 :graphql-query 键,其中包含整个查询。但是,解析查询文本似乎很尴尬。
(defn my-resolver
[context args value]
;TODO find out what fields were asked and fetch from DB
)
获取查询字段的正确方法是什么?
【问题讨论】:
标签: server clojure graphql schema resolver