我正在使用api网关,并且在我的集成响应的主体映射teplate中我有:
#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage')))
#set ($bodyObj = $util.parseJson($input.body))
{
"searchObjects":"$input.body",
"statusCode":"$errorMessageObj.statusCode",
"message":"$errorMessageObj.message"
}
现在在我的代码的api网关部分,我有:
GetMethod:
Type: AWS::ApiGateway::Method
DependsOn: APIGatewayToLambdaPermission
Properties:
AuthorizationType: NONE
HttpMethod: GET
Integration:
Type: AWS
IntegrationHttpMethod: POST
Uri:
Fn::Join:
- ''
- - 'arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/'
- Fn::ImportValue: !Sub ${project}-${EnvironmentApp}-lambda-es-
search
- "/invocations"
IntegrationResponses:
- StatusCode: 200
ResponseParameters:
method.response.header.Access-Control-Allow-Origin: "'*'"
我不知道如何将其添加到我的云层中:
#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage')))
#set ($bodyObj = $util.parseJson($input.body))
{
"searchObjects":"$input.body",
"statusCode":"$errorMessageObj.statusCode",
"message":"$errorMessageObj.message"
}
这是我的api网关设置:
有什么想法吗?
答案 0 :(得分:2)
如果您使用AWS控制台,则可以转到
API网关> api > 阶段>标签导出> 选择导出为Swagger + API网关扩展>点击 YAML
比你看到的
httpMethod: "POST"
requestTemplates:
application/json: "#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage')))\n\
#set ($bodyObj = $util.parseJson($input.body))\n\n {\n \"searchObjects\"\
:\"$input.body\",\n \"statusCode\":\"$errorMessageObj.statusCode\",\n\
\ \"message\":\"$errorMessageObj.message\"\n }"
contentHandling: "CONVERT_TO_TEXT"
type: "aws"
希望有所帮助