Amazon web services AWS Lambda未从API网关读取查询参数
对于以下使用lambda代理集成的lambda函数,请使用URLAmazon web services AWS Lambda未从API网关读取查询参数,amazon-web-services,aws-lambda,aws-api-gateway,Amazon Web Services,Aws Lambda,Aws Api Gateway,对于以下使用lambda代理集成的lambda函数,请使用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"
/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;
};
执行失败,出现以下错误:
使用JSON.stringify(event)
记录事件将返回正确的参数:
使用JSON.stringify(事件)记录事件会返回正确的
参数:
{“最小”:“1”,“最大”:“10”}
Lambda事件似乎没有附加queryStringParameters
属性。您需要将其添加到事件中,或将代码修改为:
let { min, max } = event
在我的例子中,这是我稍后在代码中调用的函数中的一个bug(与queryString无关),
当我把它放在评论中时,错误消失了 事件具有以下“queryStringParameters”:{“max”:“10”,“min”:“1”}。你的建议每次都会让人重新思考。它与你在问题中提出的内容不符
使用JSON记录事件。stringify(事件)返回正确的参数:{“min”:“1”,“max”:“10”}
有什么解决方法?有没有找到解决方法?有没有整理过?
{"min":"1","max":"10"}
let { min, max } = event