NodeJS API网关POST传递字段并抛出错误

n3schb8v  于 2023-01-30  发布在  Node.js
关注(0)|答案(1)|浏览(124)

我有一个用于POST请求的API网关,它调用一个lambda函数。
当我测试Lambda函数时,它工作正常当我在API Gateway中测试端点时,它工作正常。
但是,当我通过CURL请求或通过网站调用该函数时,我得到以下错误:

{"message": "Could not parse request body into json: Could not parse payload into json: Unrecognized token \'eyJtZXNzYWdlIjoiSSBsaWtlIGdpcmxzIGJ1dCBoYXZlIGEgd2lmZSBzbyBuZWVkIHRvIGJlIGRpc2NyZWV0LiBwcy4gSSBoYXZlIGEgYmlnIGNvY2sgOnAifQ\': 
was expecting (JSON String, Number, Array, Object or token \'null\', \'true\' or \'false\')\n at [Source: (byte[])\"eyJtZXNzYWdlIjoiSSBsaWtlIGdpcmxzIGJ1dCBoYXZlIGEgd2lmZSBzbyBuZWVkIHRvIGJlIGRpc2NyZWV0LiBwcy4gSSBoYXZlIGEgYmlnIGNvY2sgOnAifQ==\"; line: 1, column: 124]"}%

当接收到这个错误时,这个调用从来没有到达我的lambda函数,所以API网关中的某个东西阻塞了我的请求。
我的CURL请求如下所示
curl -i --位置--请求POST“https://example.com/staging/transform”“内容类型:应用程序/json' --原始数据'{“消息”:“测试”}'
这件事的罪魁祸首是什么?

j8ag8udp

j8ag8udp1#

您需要使用-H选项将'Content-Type: application/json'指定为标头。

curl -i --location -H 'Content-Type: application/json' --request POST 'https://example.com/staging/transform'  --data-raw '{"message":"test"}'

相关问题