Python WebHook使用+;(加上)空格应该在哪里

Python WebHook使用+;(加上)空格应该在哪里,python,aws-lambda,twilio,aws-api-gateway,apache-velocity,Python,Aws Lambda,Twilio,Aws Api Gateway,Apache Velocity,我的目标是通过API网关接收WhatsApp消息并将其存储在DynamoDB中。我通过webhook以以下方式接收数据。我的问题是,当Body应该作为“helloworld”保存到数据库中时。它被保存为“Hello+World”。你知道如何避免这种行为吗 {'SmsMessageSid': 'SMb980630d616e300921cacc5d27835fb1', 'NumMedia': '0', 'SmsSid': 'SMb980630d616e300921cacc5d27835fb1', '

我的目标是通过API网关接收WhatsApp消息并将其存储在DynamoDB中。我通过webhook以以下方式接收数据。我的问题是,当
Body
应该作为“helloworld”保存到数据库中时。它被保存为“Hello+World”。你知道如何避免这种行为吗

{'SmsMessageSid': 'SMb980630d616e300921cacc5d27835fb1', 'NumMedia': '0', 'SmsSid': 'SMb980630d616e300921cacc5d27835fb1', 'SmsStatus': 'received', 'Body': 'Test+131415+5%2B5%3D10', 'To': 'whatsapp%3A%2B4915734392273', 'NumSegments': '1', 'MessageSid': 'SMb980630d616e300921cacc5d27835fb1', 'AccountSid': 'AC358aa1d18557365a9e1f5e2ffcbcebe0', 'From': 'whatsapp%3A%2B4942357902', 'ApiVersion': '2010-04-01'}
当我打印收到的webhook时,我已经看到
Body
的格式是“错误的”。我尝试了以下方法

messageBody = event.get('Body')
messageBody = unquote(messageBody)
但这只解决了
%2B
%3D
现在显示为

Test+131415+5+5=10
然而,测试131415之间的+仍然存在

我在API网关集成请求(找到)中有以下映射模板:

解决方案:
urlib.parse.unquote\u plus
解决方案:
urlib.parse.unquote\u plus

#set($httpPost = $input.path('$').split("&"))
{
#foreach( $kvPair in $httpPost )
 #set($kvTokenised = $kvPair.split("="))
 #if( $kvTokenised.size() > 1 )
   "$kvTokenised[0]" : "$kvTokenised[1]"#if( $foreach.hasNext ),#end
 #else
   "$kvTokenised[0]" : ""#if( $foreach.hasNext ),#end
 #end
#end
}