Vih*_*ung 5 amazon-web-services aws-lambda aws-api-gateway
我有一个用 Java 编写的 lambda,它接受结构的请求对象
{
"id": "be1c320a-144f-464d-b32c-38ec7fb4445b",
"userId": "foobar"
}
Run Code Online (Sandbox Code Playgroud)
当我使用这样的对象通过测试接口调用这个 Lambda 时,它工作正常。
我想创建一个 API,其中一个GET请求
/users/foobar/items/be1c320a-144f-464d-b32c-38ec7fb4445b
Run Code Online (Sandbox Code Playgroud)
即形式
/users/{userId}/items/{id}
Run Code Online (Sandbox Code Playgroud)
称之为 Lambda。
我创建了API资源/users,{userId},items,和{id}适当的。
我已经创建了GET方法 (on /users/{userId}/items/{id}) 并将其与 lambda 相关联。
当我测试 API 时,它调用 lambda,但在请求中使用空值。我可以看到它在日志中打包了pathas {"id":"be1c320a-144f-464d-b32c-38ec7fb4445b","userId": "foobar"},但这并没有在正文中发送。
我尝试创建模板映射(并尝试过 RTFM),但看不到如何将路径参数映射到主体。
我如何实现这种映射?
使用映射模板。
首先,在“方法请求”部分中,您应该看到userId和id作为请求路径
然后,在集成请求中,不要选择代理集成。
然后在“映射模板”部分中,添加一个新的表单映射application/json模板
{
"id" : "$method.request.path.id",
"userId" : "$method.request.path.user_id"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |