AWS Lambda не читает параметры запроса из шлюза API - PullRequest
1 голос
/ 03 июня 2019

Для следующей лямбда-функции с использованием интеграции Lambda-Proxy с использованием URL-адреса

/api/random?min=1&max=10

Мой код:

exports.handler = async (event) => {
    let min = event.queryStringParameters.min
    let max = event.queryStringParameters.max
    console.log("min", min)
    console.log("max",max)
    const response = {
        statusCode: 200,
        body: JSON.stringify(Math.floor(Math.random()*max)+min),
    };
    return response;
};

Выполнение завершается с ошибкой:

Response:
{
  "errorType": "TypeError",
  "errorMessage": "Cannot read property 'min' of undefined",
  "trace": [
    "TypeError: Cannot read property 'min' of undefined",
    "    at Runtime.exports.handler (/var/task/index.js:3:43)",
    "    at Runtime.handleOnce (/var/runtime/Runtime.js:65:25)",
    "    at process._tickCallback (internal/process/next_tick.js:68:7)"
  ]
}

Регистрация события с использованием JSON.stringify(event) возвращает правильные параметры:

{"min":"1","max":"10"}

1 Ответ

0 голосов
/ 03 июня 2019

Регистрация события с использованием JSON.stringify (событие) возвращает правильное Параметры:

{ "мин": "1", "Макс": "10"}

К вашему Lambda-событию не прикреплено свойство queryStringParameters. Вам необходимо добавить его в событие или изменить код на:

let { min, max } = event
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...