Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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 Express GraphQL必须提供查询字符串。_Javascript_Amazon Web Services_Express_Aws Lambda_Graphql - Fatal编程技术网

Javascript Express GraphQL必须提供查询字符串。

Javascript Express GraphQL必须提供查询字符串。,javascript,amazon-web-services,express,aws-lambda,graphql,Javascript,Amazon Web Services,Express,Aws Lambda,Graphql,我是AWS lambda和GraphQL的新手。我正在尝试将Express GraphQL应用程序部署到AWS Lambda index.js文件 const awsServerlessExpress = require("aws-serverless-express"); var express = require("express"); var graphqlHTTP = require("express-graphql"); var { buildSchema } = re

我是AWS lambda和GraphQL的新手。我正在尝试将Express GraphQL应用程序部署到AWS Lambda

index.js文件

  const awsServerlessExpress = require("aws-serverless-express");
  var express = require("express");
  var graphqlHTTP = require("express-graphql");
  var { buildSchema } = require("graphql");

  // Construct a schema, using GraphQL schema language
  var schema = buildSchema(`
    type Query {
         hello: String
        }
      `);

 // The root provides a resolver function for each API endpoint
 var root = {
  hello: () => {
    return "Hello world!";
  }
 };

 var app = express();
 app.use(
         "/",
         graphqlHTTP({
             schema: schema,
             rootValue: root,
             graphiql: true
           })
      );

   const server = awsServerlessExpress.createServer(app);

   exports.handler = (event, context) => 
        awsServerlessExpress.proxy(server, event, context);



 Expected Output:

但在AWS Lambda控制台中执行AWS Lambda函数时出错

Current Output:

您的服务器很好。我认为问题在于你的质疑。不知怎的,它变形了。因为你没有包括在内,我们真的不能确定。但是,如果您的请求具有

Content-Type: 'application/graphql'

您将请求主体设置为如下所示:

{"query": "{hello}" }

注意引号的位置;如果这是JSON,它的格式必须像JSON一样。

嘿,这不是解决问题的方法,但使用起来可能会更容易一些,因为您不需要所有的express内容。您好,我想使用express GraphQL在“/”端点上安装GraphQL服务器@Herku这一错误的背景是什么?当您的请求不包含查询时,会出现此结果(因此在get
?query={…}
或post data
{“query”:“{…}
)。如果在没有必要参数的情况下运行标准AWS lambda测试,您可能会得到此响应。此外,我不确定AWS lambda版本是否能够提供GraphiQL。Hello@srinivas,您是否解决了此错误?在将lambda函数部署到AWSHello@Rap后,我遇到了相同的错误,我还尝试了
{“query”:“{Hello}”
在我的本地机器上。它在我的本地服务器上工作得很好。当我在AWS上上载lambda函数的相同zip文件时,我遇到了一个错误,“必须提供查询字符串”。您能告诉我到底发生了什么吗?
{"query": "{hello}" }