首页 > 解决方案 > 如何使用 AWS API Gateway 返回方法请求正文作为响应?

问题描述

我正在尝试使用文档$method.request.body中的映射模板返回以 POST 方法发送的正文:

但它返回的是空数据。为什么?

$method.request.querystring工作正常。

映射模板:

{
    "queryStrings":
        {
            "MessageGroupId": $method.request.querystring.MessageGroupId
        },
        {
            "MessageDeduplicationId": $method.request.querystring.MessageDeduplicationId
        }
    },
    "body": $method.request.body
}

例子:

curl --location --request POST 'https://fsgn7j23ob.execute-api.eu-west-2.amazonaws.com/v1/sqs?MessageDeduplicationId=1&MessageGroupId=1' \
--header 'Content-Type: application/json' \
--data-raw '{
    "data": "mgr"
}'

预期成绩:

{
    "queryStrings": {
        "MessageGroupId": 1
    },
    {
        "MessageDeduplicationId": 1
    }
},
"body": {
        "data": "mgr"
    }
}

当前结果:

{
    "queryStrings": {
        "MessageGroupId": 1
    },
    {
        "MessageDeduplicationId": 1
    }
},
"body":
}

标签: amazon-web-servicesaws-api-gatewayamazon-sqs

解决方案


推荐阅读