【发布时间】:2018-03-03 16:40:27
【问题描述】:
我正在尝试将 Amazon API 网关与 Lambda 函数集成。虽然我成功地实现了,但是当我尝试使用 curl 时它失败了。
Lambda 方法、API 网关集成以及集成请求下的模板映射已设置。
当我从控制台运行“测试”时,它工作正常
Execution log for request test-request
Wed Nov 04 07:27:30 UTC 2015 : Starting execution for request: test-invoke-request
Wed Nov 04 07:27:30 UTC 2015 : API Key: test-invoke-api-key
Wed Nov 04 07:27:30 UTC 2015 : Method request path: {service=xml}
Wed Nov 04 07:27:30 UTC 2015 : Method request query string: {}
Wed Nov 04 07:27:30 UTC 2015 : Method request headers: {}
Wed Nov 04 07:27:30 UTC 2015 : Method request body before transformations: Articletext
Wed Nov 04 07:27:30 UTC 2015 : Endpoint request body after transformations: {
"prog" : "xml",
"content" : "Articletext",
"test" : "{path={service=xml}, querystring={}, header={}}"
}
但是当我尝试通过 curl 访问它时,它无法在转换后创建正确的主体
curl -X POST https://aaaaaaa.execute-api.us-west-2.amazonaws.com/beta/apitest/xml -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" --data-binary "Articletext"
Starting execution for request:
Method request path: {service=xml}
Method request query string:
{}
Method request body before transformations: Articletext
Endpoint request body after transformations: Articletext
Endpoint response body before transformations:
{
"Type": "User",
"message": "Could not parse request body into json."
}
任何人都可以向我推荐缺少的部分吗?
【问题讨论】:
-
卷曲的内容类型是问题所在。我把它改成了 application/json。
标签: amazon-web-services aws-lambda aws-api-gateway