如何在我的 lambda 函数中传递多个 get 参数?
How to pass multiple get parameters in my lambda function?
我有多个 GET 参数,所以我应该如何传递 lambda 函数以及我的 serverless.yml 看起来如何 like.Currently 下面是配置
serverless.yml
myFunc:
handler: com.mcm.in.MyHandler
events:
- http:
path: user
method: get
cors: true
Request:/mylist?page=1&size=10&filter=userId=abc&sort=-userId&version=1554304254262
还有我应该如何调用 sls invoke local?
我试过没有参数,它在无服务器中不起作用
您可以创建一个请求模板,它将使用参数映射您的请求内容,如 the documentation. 中所述 您的函数看起来像这样(如果您想接受 page
参数例如:
myFunc:
handler: com.mcm.in.MyHandler
events:
- http:
path: user
method: get
cors: true
integration: lambda
request:
template:
application/json: '{ "page" : "$input.params(''page'')" }'
我已经通过这种方式创建了请求模板,用于在 URL
中传递多个参数
template:
application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
这是完整的代码
functions:
hello:
handler: handler.hello
events:
- http:
path: /
method: get
likes:
handler: handler.likes
events:
- http:
path: /likes
method: get
integration: lambda
reqValidatorName: xMyRequestValidator
request:
passThrough: NEVER
parameters:
querystrings:
userid: true
activityid:true
template:
application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
response:
headers:
Content-Type: "'application/json'"
我有多个 GET 参数,所以我应该如何传递 lambda 函数以及我的 serverless.yml 看起来如何 like.Currently 下面是配置
serverless.yml
myFunc:
handler: com.mcm.in.MyHandler
events:
- http:
path: user
method: get
cors: true
Request:/mylist?page=1&size=10&filter=userId=abc&sort=-userId&version=1554304254262
还有我应该如何调用 sls invoke local?
我试过没有参数,它在无服务器中不起作用
您可以创建一个请求模板,它将使用参数映射您的请求内容,如 the documentation. 中所述 您的函数看起来像这样(如果您想接受 page
参数例如:
myFunc:
handler: com.mcm.in.MyHandler
events:
- http:
path: user
method: get
cors: true
integration: lambda
request:
template:
application/json: '{ "page" : "$input.params(''page'')" }'
我已经通过这种方式创建了请求模板,用于在 URL
中传递多个参数template:
application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
这是完整的代码
functions:
hello:
handler: handler.hello
events:
- http:
path: /
method: get
likes:
handler: handler.likes
events:
- http:
path: /likes
method: get
integration: lambda
reqValidatorName: xMyRequestValidator
request:
passThrough: NEVER
parameters:
querystrings:
userid: true
activityid:true
template:
application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
response:
headers:
Content-Type: "'application/json'"