0

我的目标如下:

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

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

  • /
    • /api
      • /v1
        • /-ID-
          • 得到

我添加了一个“映射模板”:

{"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);
};

在浏览器上输入 url 时,我错过了什么可以让我返回“id”?

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

4

1 回答 1

2

阅读文档!!!!

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

资源名称:任何东西

资源路径:如果你想使用像“/api/v1/PARAM_VALUE”这样的url,这需要是{PARAM_NAME}

于 2015-11-09T21:58:27.057 回答