如何访问AWS API Gateway的path参数?我总是收到“消息”:“缺少身份验证令牌”

时间:2015-11-09 19:57:28

标签: node.js aws-lambda aws-api-gateway

我的目标如下:

  • 拥有REST端点:/ api / v1 / {ID}
  • 我的lambda应该能够访问{ID}并执行逻辑

现在我的api网关看起来像:

  • /
    • / API
      • / V1
        • / - ID-
          • GET

我添加了“映射模板”:

{"id":"$input.params('id')"}

当我在浏览器中输入网址“https ..... / dev / api / v1 / -id-”时,我得到:

{ id: "" }

当我输入“https ...... / dev / api / 1234”时,我得到:

{ "message": "Missing Authentication Token" }

我没有为网址设置任何类型的身份验证资料......

我的lambda代码:

console.log('Loading function');

exports.handler = function(event, context) {
    var query = require('querystring').parse(event.querystring)
    console.log("the query ==> ", query);
    console.log('Received event:', JSON.stringify(event, null, 2));
    console.log("the context ==> ", context)
    context.succeed(event);
};

我错过了什么让我在浏览器上输入网址时返回“id”?

我还运行了一些带有针对url的get请求的java代码,只要我将“-id-”设置为某个字符串/数字就得到403 ...

1 个答案:

答案 0 :(得分:2)

阅读文档!!!!

http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-mappings.html

资源名称:真的是

资源路径:如果您想使用" / api / v1 / PARAM_VALUE"

等网址,则需要{PARAM_NAME}