我有一个用于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' --原始数据'{“消息”:“测试”}'
这件事的罪魁祸首是什么?
1条答案
按热度按时间j8ag8udp1#
您需要使用
-H
选项将'Content-Type: application/json'
指定为标头。