查询 GraphQL 浮点数时,第二个参数代表什么?

When querying for a GraphQL float, what does the second argument represent?

我在 GraphQL 中进行以下查询:

{
  metal(silver_bid_usd_toz: 1) {
    silver_bid_usd_toz
  }
}

哪个returns

{
  "data": {
    "metal": {
      "silver_bid_usd_toz": 16.45
    }
  }
}

API返回的JSON对象是平的:

{
  silver_bid_usd_toz: 123,
  gold_bid_usd_toz: 123,
  copper_bid_usd_toz: 123
}

我不明白我的 graphql 查询中的 int 1 是什么意思 metal(silver_bid_usd_toz: 1)

我将它更改为什么并不重要,它可以是 1 或 355,但它是查询工作所必需的。为什么我做不到

{
  metal(silver_bid_usd_toz) {
    silver_bid_usd_toz
  }
}

我的架构如下所示:

 module.exports = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'Query',
    description: '...',
    fields: () => ({
      metal: {
        type: MetalType,
        args: {
          gold_bid_usd_toz: { type: GraphQLFloat },
          silver_bid_usd_toz: { type: GraphQLFloat }
        },
        resolve: (root, args) => fetch(
          `api_url`
        )
        .then(response => response.json())
      }
    })
  })
});

您将 silver_bid_usd_toz 作为字段的参数传递,但显然您没有在解析函数中使用它,因此它被忽略了。

这似乎是为什么当您更改参数值时结果总是相同的原因。

但是当你说查询工作需要它时很奇怪,因为它没有定义为 GraphQLNonNull 类型。 根据您传递给我们的架构,应该可以在不传递任何参数的情况下查询该字段。