Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用queryParams字符串化嵌套对象以发出graphql/GET请求?_Javascript_Node.js_Graphql - Fatal编程技术网

Javascript 如何使用queryParams字符串化嵌套对象以发出graphql/GET请求?

Javascript 如何使用queryParams字符串化嵌套对象以发出graphql/GET请求?,javascript,node.js,graphql,Javascript,Node.js,Graphql,我需要从节点服务器向GraphQLAPI发出请求。我使用的GraphQLAPI将查询作为URL的查询参数,而不是在请求体中。它也不接受POST请求。我有一个问题,比如说 const query = { student(id: studentId) { personal { address grade etc {morestuff} } } } 如何将其字符串化以queryParams的形式发送?我尝试

我需要从节点服务器向GraphQLAPI发出请求。我使用的GraphQLAPI将查询作为URL的查询参数,而不是在请求体中。它也不接受POST请求。我有一个问题,比如说

const query = {
    student(id: studentId) {
      personal {
        address
        grade
        etc {morestuff}
      }
    }
  }

如何将其字符串化以queryParams的形式发送?我尝试过querystring模块querystring Query,但它返回类似student=的内容,仅此而已。我尝试了JSON.stringify,但也没有成功。我需要上面的,看起来像:

query=%7B%0A%20%20%20%20student(id%3A%20studentId)%20%7B%0A%20%20%20%20%20%20personal%20%7B%0A%20%20%20%20%20%20%20%20address%0A%20%20%20%20%20%20%20%20grade%0A%20%20%20%20%20%20%20%20etc%20%7Bmorestuff%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D
我用了一个在线编码器/解码器

我知道有GraphQL客户端库,但我不确定它们是否用于服务器到服务器,我看到它们是从浏览器/客户端使用的。如果我应该使用一个客户机库,你能推荐一个轻量级的更好地支持GET请求的库吗?上一个我没有尝试过的库叫做Prisma


感谢您的帮助:

这对我很有用,创建了一个函数:

function encode(query) {
  return encodeURIComponent(query).replace(/'/g, "%27").replace(/"/g, "%22");
}
通过:

const query = {
    student(id: studentId) {
      personal {
        address
        grade
        etc {morestuff}
      }
    }
  }
返回所需的结果。希望这对别人有帮助