首页 > 解决方案 > apollo-server-lambda:无法读取未定义的属性“内容类型”

问题描述

我正在尝试运行一个非常简单的 lambda 函数并在本地对其进行测试。但这让我犯了错误。

以下是我的代码

//index.js
const { ApolloServer } = require("apollo-server-lambda");

const server = new ApolloServer({
    typeDefs: `
    type Query {
      greeting: String!
    }
  `,
    resolvers: {
        Query: {
            greeting: () => "Hello!",
        },
    }
});

exports.handler = server.createHandler();

我正在测试它,lambda-local如下所示:

//test.js
const lambdaLocal = require('lambda-local');

var jsonPayload = {
    'key': 1,
    'another_key': "Some text"
}

lambdaLocal.execute({
    event: jsonPayload,
    lambdaPath: './index.js',
    profilePath: '~/.aws/credentials',
    profileName: 'default',
    timeoutMs: 3000
}).then(function(done) {
    console.log(done);
}).catch(function(err) {
    console.log(err);
});

但是当我运行时node test.js,我收到以下错误:

"errorMessage": "Cannot read property 'content-type' of undefined",
"errorType": "TypeError",

附加信息: 如果我在没有以下代码的index.js情况下工作正常apollo

exports.handler = async(event) => {
    return {
        statusCode: 200,
        body: "Hello"
    }
}

所以,这个问题更多是关于apollo-sever-lambda

你能帮我摆脱这个问题吗?纠结了好久,还是解决不了。

提前致谢

标签: javascriptnode.jsamazon-web-serviceslambdaapollo

解决方案


推荐阅读