如何访问AWS API Gateway的路径参数?

时间:2015-11-05 21:38:22

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

我在API网关中创建了一个基本的GET URL;使用名为“name”的路径参数。

如何访问此名称参数?我既没有在事件或背景中看到它。

我是否误解了参数路径的目的?

让我使用我的播放应用程序:

GET /api/v1/person                      @controllers.PersonController.list(limit: Int ?= 50, offset: Long ?= 0)
GET /api/v1/person/$id<[0-9]+>          @controllers.PersonController.getById(id: Long)
GET /api/v1/person/$id<[0-9]+>/email    @controllers.PersonController.getEmailByPersonId(id: Long)

这是否可以使用AWS API Gateway实现?

1 个答案:

答案 0 :(得分:1)

根据文档,您应该可以使用映射模板执行此操作:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

修改他们的示例(底部附近的“示例请求和响应”)以适合您的URI它看起来像这样

//Resource: /api/v1/person/{id}

//With input template(this is what your lambda will see in the event):
{
    "id" : "$input.params('id')"
    "person" : $input.json(‘$.person')
}

//POST /api/v1/person/{id}
{
    "person" : {
        "name": "bob"
    }
}