Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在API网关中设置映射模板后无法获取标头_Node.js_Amazon Web Services_Aws Lambda_Aws Api Gateway - Fatal编程技术网

Node.js 在API网关中设置映射模板后无法获取标头

Node.js 在API网关中设置映射模板后无法获取标头,node.js,amazon-web-services,aws-lambda,aws-api-gateway,Node.js,Amazon Web Services,Aws Lambda,Aws Api Gateway,我想调用一个带有标题和主体的api,用于管理用户删除如下用户数据: apiClient.post('***endpoint***', { tableName: '***', id: id }, { headers: { Authorization: accessToken } }) 在我编写任何访问数据库的函数之前,我想先在lambda中显示细节: var AWS = require('aws-sdk') AWS.co

我想调用一个带有标题和主体的api,用于管理用户删除如下用户数据:

apiClient.post('***endpoint***',
    { tableName: '***',
      id: id },
    {
      headers: {
        Authorization: accessToken
      }
    })
在我编写任何访问数据库的函数之前,我想先在lambda中显示细节:

var AWS = require('aws-sdk')
AWS.config.update({ region: '***' })
var ddb = new AWS.DynamoDB()

exports.handler = async function (event , ctx , callback) {
    return event
};
在APIGATEWAY中,我设置了以下内容

{ 
    "Authorization" : "$input.params('Authorization'),
    "body" : $input.json('$') 
}
集成请求中的内容类型为
application/json
然后当我在方法测试中测试api时。 在标题中,我键入
“testaccesstoken”
, 在body中,我键入
{“id”:“1”,“tableName”:“test”}
, 但结果是
{
“授权”:“授权”,
“正文”:{
“id”:“1”,
“表名”:“测试”
}
}
有人能解释一下为什么我仍然不能拿到头球吗? 同样,当我在poseman中测试时,我会这样做:, 我得到一个错误


我已经部署了API,但为什么我不能在postman中测试???

我注意到您提到了映射模板和传递行为,但没有提到在方法请求中映射它,也没有提到API网关中Integration Request中的header字段。最近有一个我认为可能会给你一些东西来验证设置是否正确,因为我怀疑这可能是问题所在


它还包括使用代理集成,如果评论中有更具体的问题,请告诉我,如果需要,我会调整我的答案

在邮递员中,将标题设置为
Authorization
而不是
“Authorization”