Node.js: Как прочитать параметры из запроса на получение Axios?

0

Поэтому у меня есть запрос на аксиому в соответствии с этим в моем проекте 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, но никто из них, похоже, не работает.

Теги:
lambda
axios
parameter-passing

1 ответ

4

Прежде всего, вы подвергаете свой сервер 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;

  • 0
    Спасибо тебе за это. Дополнительный вопрос: вам нужно проверить интеграцию Lambda Proxy в шлюзе API, чтобы использовать event.queryStringParameters, или вы можете назвать его как есть?
  • 0
    Я не уверен, но я думаю, что вы можете назвать это как есть!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню