当前位置: 首页 > 知识库问答 >
问题:

当我从邮递员那里发送消息时,如何接收参数

卢翔宇
2023-03-14

我通过邮递员将参数发送到api网关并收到结果。所以我在lambda中尝试了一个简单的例子,

exports.handler = (event, context, callback) => {
    // TODO implement
    const Idx = event.Idx * 2;

    callback(null, Idx);

};

当我发送Idx时,它会回调两倍。

我在身体中选择原始,这样我就可以收到结果

但是,我将“Content Type”:“application/x-www-form-urlencoded”放在Headers部分,选择x-www-form-urlencoded,它返回这个。

{"message": "Could not parse request body into json: Unrecognized token \'Idx\': was expecting \'null\', \'true\', \'false\' or NaN\n at [Source: [B@331a45ec; line: 1, column: 5]"}

我想收到邮递员通过x-www. formurlencoded的数据。

我怎么能做到呢?

如果你知道这件事,请帮帮我。

共有1个答案

龚星洲
2023-03-14

API网关需要JSON,但您提供的是URL编码的表单数据(即字符串)。您需要在API网关配置中添加映射模板:

{
    "data": {
        #foreach( $token in $input.path('$').split('&') )
            #set( $keyVal = $token.split('=') )
            #set( $keyValSize = $keyVal.size() )
            #if( $keyValSize >= 1 )
                #set( $key = $util.urlDecode($keyVal[0]) )
                #if( $keyValSize >= 2 )
                    #set( $val = $util.urlDecode($keyVal[1]) )
                #else
                    #set( $val = '' )
                #end
                "$key": "$val"#if($foreach.hasNext),#end
            #end
        #end
    }
}

资料来源:https://stackoverflow.com/a/37956390/5794667

 类似资料:
  • 我正在尝试为Web设置Firebase云消息传递。我成功地对其进行了正确初始化并获得了令牌: manifest.json与gcm_sender_id 我可以看到我在控制台中得到令牌,所以我试图验证它,并通过邮递员发送我的第一个通知-这里是留档。 发布网址:https://fcm.googleapis.com/v1/projects/PROJECTID/messages:发送授权:无授权 标题 Bo

  • 我是AWS新手,在Postman中使用API Gateway运行Lambda函数时收到。 我已经检查了,日志中没有显示错误。但是邮递员返回此错误。

  • 通常在服务器发送一些数据时发生Message事件。服务器发送到客户端的消息可以包括纯文本消息,二进制数据或图像。无论何时发送数据,都会触发函数。 此事件充当客户端对服务器的耳朵。每当服务器发送数据时,都会触发事件。 以下代码段描述了打开Web Socket协议的连接。 还需要考虑使用Web套接字可以传输哪些类型的数据。Web套接字协议支持文本和二进制数据。就Javascript而言,文本指的是字符

  • 我有1个活动和1个普通类,其中活动1接收消息,普通类发送消息。如何实施: 在活动一中。班 在Ordinary.class 如何发送空消息(1)的代码?

  • 我一直在开发一个简单的python套接字聊天室,客户端和服务器可以在其中相互发送消息。我遇到的问题是服务器和客户端一次只能发送一条消息。我希望它能像任何其他聊天室一样工作,在那里我可以在发送消息时收到消息,任何帮助都会有很大帮助

  • 我想做以下事情: 感谢任何回应。 我的单元测试如下: 演示方法用于组装tlv(我们的自定义协议)对象。 关键日志如下: 创建的TcpClient工作不好,我不知道如何更正,有人能告诉我一种正确的方法吗。