node.js:如何从axios get请求中读取参数?

w8ntj3qf  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(485)

所以我在reactjs项目中有一个axios请求:

axios.get(URL, {params: {id: id}}

这几乎可以通过如下url将get请求传递到我的后端:

URL?id=id

我还有一个node.js lambda函数,它运行如下mysql查询:

connection.query("SELECT * FROM database.USER WHERE ID = '"+event.id+"'", function (error, results, fields))

所以我知道这不起作用,因为我是通过一个url传入一个params,而这个url对事件不起作用
我试图让node.js函数从url参数读取id,但我似乎不知道这样做的语法。
有人知道如何从node.js函数中获取参数吗?我试过params.id,@id,:id,params[0].id之类的东西,但似乎都没用。

uajslkp6

uajslkp61#

首先,您要将后端暴露给sql注入。决不能将sql查询与外部的值连接起来,这些值是您无法控制的。请阅读sql注入:https://www.w3schools.com/sql/sql_injection.asp
必须使用mysql2库和准备好的语句,请参见:(https://github.com/sidorares/node-mysql2/blob/master/documentation/prepared-statements.md)
由于您使用的是aws lambda,因此从查询中读取的值使用: const id = event.queryStringParameters ? event.queryStringParameters.id : null;

相关问题