1

Ich bin mit api-Gateway und in dem Body-Mapping teplate meine Integration Antwort hinzufügt Ich habe:Wie Vorlage Körper Mapping-Vorlagen von APIgateway (in integrationResponse) in Cloudformation

#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage'))) 
#set ($bodyObj = $util.parseJson($input.body)) 

{ 
    "searchObjects":"$input.body", 
    "statusCode":"$errorMessageObj.statusCode", 
    "message":"$errorMessageObj.message" 

} 

Jetzt im api Gateway Abschnitt ich von meinem Code haben:

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: "'*'" 

ich keine Ahnung, wie diese Formation zu meiner Wolke hinzuzufügen:

#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage'))) 
#set ($bodyObj = $util.parseJson($input.body)) 

{ 
    "searchObjects":"$input.body", 
    "statusCode":"$errorMessageObj.statusCode", 
    "message":"$errorMessageObj.message" 

} 

Hier ist mein api Gateway einrichten:

enter image description here

Jede Idee?

Antwort

1

Wenn Sie mit AWS-Konsole gearbeitet hat, kann man auf

gehen

API-Gateway>api>Stufe> Registerkarte Export> wählen Export als Swagger + API-Gateway Extensions> Klicken Sie auf YAML

als Sie sehen können

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" 

Hoffe, es hilft

+0

Wow thanx ich total diesen Ansatz zu versuchen, vergessen: D –

Verwandte Themen