首页 > 解决方案 > 无法将请求正文解析为 json:数值中有意外字符

问题描述

我想将表单数据发布到 api 网关,然后将其发送到 lambda 进行处理。但是,我得到

{
  "message": "Could not parse request body into json: Unexpected character (\'-\' (code 45)) 
    in numeric value: expected digit (0-9) to follow minus sign, for valid numeric value\n 
    at [Source: (byte[])\"----------------------------086228525798973846089611\r\nContent- 
    Disposition: form-data; name=\"first_name\"\r\n\r\nfake\r\n--------------------------- 
   -086228525798973846089611\r\nContent-Disposition: form-data; 
   name=\"last_name\"\r\n\r\nname\r\n--------------------------- 
   -086228525798973846089611\r\nContent-Disposition: form-data; 
   name=\"email\"\r\n\r\nfakename1@something.com\r\n--------------------------- 
   -086228525798973846089611\r\nContent-Disposition: form-data; name=\"mobile\"\r\n\r\n\r\n- 
   ---------------------------086228525798973\"[truncated 752 bytes]; line: 1, column: 3]"
}

在 cloudwatch 日志中,我可以看到 lambda 给出了这个错误:Lambda invocation failed with status: 400.Can't see any errors in lambda logs just api gateway logs。

我的 api 网关 POST 方法如下所示: 在此处输入图像描述

编辑:添加我试图提交 API 不喜欢的表单图像: 表单数据

任何想法如何在没有 api 网关转换或其他问题的情况下发布到 lambda?

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


推荐阅读