NodeJs GraphQL 动态查询变量

Posted

技术标签:

【中文标题】NodeJs GraphQL 动态查询变量【英文标题】:NodeJs GraphQL dynamic query variable 【发布时间】:2018-04-08 23:38:16 【问题描述】:

https://launchpad.graphql.com/9qvqz3v5r

这是我的 graphQL 示例

如果我将 userId:2 作为静态传递


  user(userId:2)
    firstName
    lastName
  

我会得到如下输出


  "data": 
    "user": 
      "firstName": "Joe",
      "lastName": "spin"
    
  

我需要使用动态查询变量的相同输出

query getUserNameData($userId: User)
  user(userId:$userId)
    firstName
    lastName
  

query variables

  "userId" : 2

但我是吸气剂错误: 变量\"$userId\"不能是非输入类型\"User http://prntscr.com/h2ojor

谁能帮帮我?

【问题讨论】:

【参考方案1】:

http://prntscr.com/h2oop9

您必须使用 ! 指定数据类型这个符号来获取变量

query getUserNameData($userId: Int!) 
  user(userId: $userId) 
    firstName
    lastName
  

【讨论】:

您能否举例说明如何拥有动态字段,例如firstNamelastName

以上是关于NodeJs GraphQL 动态查询变量的主要内容,如果未能解决你的问题,请参考以下文章

如何将动态参数添加到 graphql 查询中

摸索graphQL在前端vue中使用过程

GraphQL 查询,具有动态字段

React Apollo:从组件状态动态更新 GraphQL 查询

如何使用graphql将动态数量的变量保存到数据库中?

如何使用 Apollo graphql 动态调整查询形状(字段)?