【问题标题】:How to pass object type argument in query in GraphQL?如何在 GraphQL 的查询中传递对象类型参数?
【发布时间】:2022-02-21 02:35:53
【问题描述】:

我得到了这种类型的查询

query {
    searchRandom (param : MyObjectClass){
        city
    }
}

如何设置MyObjectClass 类型的参数并将其传递到查询中?能在这里测试吗?

【问题讨论】:

    标签: graphql graphql-js graphql-java express-graphql


    【解决方案1】:

    使用以下查询。

    query getData($param: MyObjectClass){
      searchRandom(param: $param)
          city
    }
    

    然后转到Graphiql中的查询变量选项卡并像这样传递变量数据。您没有提到 MyObjectClass 中包含的数据类型。所以以此为例:

    {
      "param": {"country": "England", "population": "High" }
    }
    

    那么数据应该会按预期返回。

    --- 另外---

    如果您正在运行服务器,请确保您已设置以下内容。

    您需要在 GraphQL 架构中创建一个输入对象。

    input MyObjectClass {
         country: String
         population: String
    }
    

    然后在解析器中,您必须将对象作为参数传递。 (假设您使用的是 JavaScript)

    const resolvers = {
      Query: {
        searchRandom: (parent, { param }) => {
            var query_data = param
            ...//your code
            return city_name;
          },
        },
    

    我不确定这是否解决了您的问题。不过,我希望这个答案会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 2019-06-22
      • 2017-08-01
      • 2017-05-28
      • 1970-01-01
      • 2022-07-20
      相关资源
      最近更新 更多