Поэтому у меня есть запрос на аксиому в соответствии с этим в моем проекте ReactJS:
axios.get(URL, {params: {id: id}}
Это в значительной степени передало бы запрос на получение моего бэкэнда с таким URL-адресом:
URL?id=id
У меня также есть функция Node.js Lambda, которая выполняет запрос mysql:
connection.query("SELECT * FROM database.USER WHERE ID = '"+event.id+"'", function (error, results, fields))
Поэтому я знаю, что это не работает, потому что я передаю параметры с помощью URL-адреса, который не работает с событием
Я пытаюсь заставить мою функцию Node.js читать идентификатор из моих параметров URL, но я, похоже, не знаю синтаксиса для этого.
Кто-нибудь знает, как получить параметры из функции Node.js? Я пробовал такие вещи, как params.id, @id,: id, params [0].id, но никто из них, похоже, не работает.
Прежде всего, вы подвергаете свой сервер SQL Injection. Вы НИКОГДА не свяжете свои запросы sql со значениями, которые вы не контролируете. Пожалуйста, прочитайте о внедрении SQL: https://www.w3schools.com/sql/sql_injection.asp
Вы должны использовать библиотеку mysql2 и подготовленные инструкции. SEE: (https://github.com/sidorares/node-mysql2/blob/master/documentation/Prepared-Statements.md)
Поскольку вы используете AWS лямбда, вы читаете значения из запроса, используя:
const id = event.queryStringParameters? event.queryStringParameters.id: null;