Получение ошибки при разборе тела события на json в консоли aws - PullRequest
0 голосов
/ 16 марта 2020

Я использую лямбду с aws и безсерверный фреймворк. Когда я проверяю это в автономном режиме, он работает совершенно нормально, но при развертывании я получаю сообщение: внутренняя ошибка сервера, и когда я вхожу в консоль aws, ошибка говорит:

  "errorType": "SyntaxError",
  "errorMessage": "Unexpected token p in JSON at position 0",
  "trace": [
    "SyntaxError: Unexpected token p in JSON at position 0",
    "    at JSON.parse (<anonymous>)",
    "    at module.exports.createPost (/var/task/handlers/post.js:17:12)",
    "    at Runtime.handler (/var/task/serverless_sdk/index.js:9:89602)",
    "    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
  ]

Это мой обработчик

module.exports.createPost = async event => {
  const data = JSON.parse(event.body);
  const post = {
    id: uuid.v4(),
    createdAt: new Date().toISOString(),
    userId: 1,
    title: data.title,
    body: data.body
  };
  const params = {
    TableName: postsTable,
    Item: post
  };
  db.putItem(params, (err, data) => {
    if (err) {
      return response(err.statusCode, err);
    } else {
      return response(200, post);
    }
  });
};

Я проверяю это с

{
  "title": "post title",
  "body": "post body"
}

1 Ответ

2 голосов
/ 16 марта 2020

Я полагаю, что тело уже является json, поэтому, если вы сделаете json.parse снова, оно выдаст эту ошибку. Если вы удалите json.parse, все должно быть в порядке.

...