Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 @middy/httpjson主体解析器可以';t解析JSON_Javascript_Node.js_Json_Amazon Dynamodb_Serverless - Fatal编程技术网

Javascript @middy/httpjson主体解析器可以';t解析JSON

Javascript @middy/httpjson主体解析器可以';t解析JSON,javascript,node.js,json,amazon-dynamodb,serverless,Javascript,Node.js,Json,Amazon Dynamodb,Serverless,您好,我想解析一个JSON,所以我使用了middy中间件。但这行不通。需要解析的数据无法处理到dynamodb。我安装了@middy/httpjson主体解析器、@middy/http事件规范化器、@middy/http错误处理程序,但仍然无法工作。这是我的密码 import AWS from 'aws-sdk'; import middy from '@middy/core'; import httpJsonBodyParser from '@middy/http-json-body-pars

您好,我想解析一个JSON,所以我使用了middy中间件。但这行不通。需要解析的数据无法处理到dynamodb。我安装了@middy/httpjson主体解析器、@middy/http事件规范化器、@middy/http错误处理程序,但仍然无法工作。这是我的密码

import AWS from 'aws-sdk';
import middy from '@middy/core';
import httpJsonBodyParser from '@middy/http-json-body-parser';
import httpEventNormalizer from '@middy/http-event-normalizer';
import httpErrorHandler from '@middy/http-error-handler';
import createError from 'http-errors';

const nid = require('nid')({HEX:1, length:16})    

const dynamodb = new AWS.DynamoDB.DocumentClient();

async function createAuction(event, context) {
  const { title, description } = event.body;
  const now = new Date();

  const auction = {
    id: nid(),
    title,
    description,
    status: 'OPEN',
    createdAt: now.toISOString(),
  };

  try {
    await dynamodb.put({
      TableName: process.env.AUCTIONS_TABLE_NAME,
      Item: auction,
    }).promise();
  } catch(error) {
    console.error(error);
    throw new createError.InternalServerError(error);
  }

  return {
    statusCode: 201,
    body: JSON.stringify(auction),
  };
}

export const handler = middy(createAuction)
  .use(httpJsonBodyParser())
  .use(httpEventNormalizer())
  .use(httpErrorHandler());
这是结果中的屏幕截图


问题与dynamodb无关<代码>标题和
说明
很可能不是middy解析的事件,因为请求不是内容类型application/json或api网关配置不正确。信息如此之少,不可能这么说,但您应该在异步函数createAuction(事件、上下文)之后
console.log(event)
{并查看它是否包含您的请求中有用的内容。

实际错误是什么?In只能在此处看到有效的内容。您期望得到什么与您得到什么?标题和描述无法输入到我的dynamodb先生,我不知道为什么我在postman中将错误请求配置为文本而不是JSON。谢谢您的帮助!我已更新middy(v2)的文档将突出显示所需的内容类型。