是否接受键值对的GraphQL查询参数?

时间:2018-11-16 16:12:20

标签: graphql apollo

我想将以下key:value对传递给GraphQL查询。我想它可以像这样工作,但一直找不到实现此目的的方法。

query myPortfolio {
  portfolio(holdings: {"btc": 0.12, "ltc": 12.1}) {
    # ...
  }
}

我试图创建一个特殊类型并将其作为数组传递,但是编译失败。

type Holding {
  coin: String!
  amount: Float!
}

type Query {  
  portfolio(holdings: [Holding!]): Portfolio!
}

Error: The type of Query.portfolio(holdings:) must be Input Type but got: [Holding!].

1 个答案:

答案 0 :(得分:1)

就像消息说的那样,参数必须为input类型。将您的架构更改为

type Holding {
  coin: String!
  amount: Float!
}

input HoldingInput{
  coin: String!
  amount: Float!
}

type Query {  
  portfolio(holdings: [HoldingInput!]): Portfolio!
}