Amazon APi网关无法生成转换后的请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Amazon APi网关无法生成转换后的请求相关的知识,希望对你有一定的参考价值。

我正在尝试将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 -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."
}

任何人都可以建议我丢失部分吗?

答案

请确保您的内容类型是您在集成请求模板中定义的内容。

你可以尝试这个curl命令。

curl -X POST https://aaaaaaa.execute-api.us-west-2.amazonaws.com/beta/apitest/xml -H“Content-Type:application / json”--data-binary“Articletext”

另一答案

在我的情况下,问题是我没有部署API,所以它没有更新为外部使用。见Amazon API Gateway : response body is not transformed when the API is called via Postman?

以上是关于Amazon APi网关无法生成转换后的请求的主要内容,如果未能解决你的问题,请参考以下文章

针对匹配模式的 aws api 网关标头验证

kong API网关的多个请求转换器

使用 Amazon api 网关用 REST API 包装 graphQL(appsync)

我无法创建网关 API Google 错误:“无法转换为服务配置。”位置:“未知位置”

AWS API网关SDK,与Android的问题

SerializationException:找到不期望的结构或映射的开始:API网关到步骤功能