为了账号安全,请及时绑定邮箱和手机立即绑定

如何在我的 lambda 函数中传递多个 get 参数?

如何在我的 lambda 函数中传递多个 get 参数?

largeQ 2022-09-21 17:39:57

我有多个GET参数,所以我应该如何传递lambda函数以及我的无服务器.yml会是什么样子。目前以下为配置


无服务器.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调用本地?


我已经尝试没有参数,它在无服务器中不起作用


查看完整描述

2 回答

?
慕桂英546537

TA贡献1522条经验 获得超9个赞

您可以创建一个请求模板,该模板将使用参数映射您的请求内容,如文档中所述。您的函数将如下所示(例如,如果要采用参数: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'')" }'


查看完整回答
反对 回复 2022-09-21
?
白板的微信

TA贡献1536条经验 获得超3个赞

我以这种方式创建了请求模板,用于在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'"


查看完整回答
反对 回复 2022-09-21

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信