【问题标题】:Node express request body undefined on AWS LambdaAWS Lambda 上未定义节点快速请求正文
【发布时间】:2020-10-16 18:16:03
【问题描述】:

我正在使用 AWS Amplify 生成 Node Express REST API 端点。

我最近添加了一个新端点,但我在请求正文中一直未定义,我无法弄清楚我可能在哪里错误配置了我的应用程序。

App.js

var express = require("express");
var bodyParser = require("body-parser");
var awsServerlessExpressMiddleware = require("aws-serverless-express/middleware");

// declare a new express app
var app = express();
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
app.use(awsServerlessExpressMiddleware.eventContext());

// Enable CORS for all methods
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  next();
});

var aws = require("aws-sdk");
const https = require("https");

app.post("/refresh", function(req, res){
    console.log(JSON.stringify(req.body));
    // {}
    console.log(JSON.parse(req.body));
    //Error: unexpected token o in JSON at position 1
}); 

我正在使用此有效负载在 AWS 控制台中对此进行测试

{
  "path": "/refresh",
  "httpMethod": "POST",
  "header": "{\"content-Type\":\"application/json\"}",
  "body": "{\"Username\":\"test\"}"
}

【问题讨论】:

  • 你找到解决办法了吗? @dev.tom

标签: javascript node.js amazon-web-services express aws-lambda


【解决方案1】:

设置标题为

"Content-Type: application/json"

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 2020-12-22
    • 2020-06-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2020-02-12
    • 2020-03-27
    相关资源
    最近更新 更多