rox*_*ens 4 amazon-web-services serverless-framework serverless
我一直在尝试和在线搜索,但无法找到回复。是否可以使用无服务器框架实现以下目标:
我想使用get.handler具有以下定义的代码来获取一个项目和获取所有项目。所以:
api.example.com/items/我检索所有项目api.example.com/items/1234我检索项目id = 1234 - get_items:
handler: project/items/get.handler
events:
- http:
path: items/{itemId}
method: get
Run Code Online (Sandbox Code Playgroud)
到目前为止,get.handler我检查event.pathParameters? event.pathParameters.itemId : null特定项目是否存在并调用某个getItem(itemdId)函数,如果它不存在,则调用一个getAll()函数。
如果我在它工作的路径中传递项目 id,但是当我发出请求时,api.example.com/items/我收到以下错误:
not a valid key=value pair (missing equal-sign) in Authorization header. 这意味着我的路径有问题,我必须将项目 ID 传递给路径参数。
我的问题是:有没有办法可以在该- http:区域使用多条路径,或者有什么推荐的方法可以解决这个问题(只需创建两个单独的处理程序)?
有两种方法可以轻松完成您正在寻找的内容。首先,一个 lambda 函数可以由多个事件触发。您可以将另一个http事件添加到处理程序数组中,如下所示:
get_items:
handler: project/items/get.handler
events:
- http:
path: items/{itemId}
method: get
- http:
path: items/
method: get
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用该{proxy+}参数。您可以在此处阅读有关各种代理方法的更多信息
| 归档时间: |
|
| 查看次数: |
1361 次 |
| 最近记录: |