node.js - NodeJs GraphQL 动态查询变量

标签 node.js graphql graphql-js apollo-server express-graphql

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
}

但我的 getter 错误为: 变量“$userId”不能是非输入类型“User” http://prntscr.com/h2ojor

有人可以帮助我吗?

最佳答案

http://prntscr.com/h2oop9

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

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

关于node.js - NodeJs GraphQL 动态查询变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46973782/

相关文章:

javascript - 如何从partial.hbs 更改main.hbs 文件的html 标题?

node.js - Nodejs 和 pdfKit 和 qr-image

node.js - 使用 Node JS child_process.spawn 运行脚本时打开文件过多

java - 在 Tomcat 中注册 SimpleGraphQLServlet

javascript - 如何从 flutter 的graphQL发送多行字符串?

graphql - 编译后的代码中遗留了 Gatsby 查询

javascript - 字母 "pyramid"

lambda - 如何将 GraphQL 突变从一台服务器发送到另一台服务器?

reactjs - Graphql:如果参数类型为字符串,则跳过该参数

javascript - 尝试使用 `gatsby-source-mongodb` 将数据从 MongoDB 获取到 Gatsby 时卡住