2017-06-27 6 views
0

AWS APIゲートウェイは、
後 は私の体のマッピングテンプレートである -
私はAPIゲートウェイにPostメソッドを持つボディマッピングテンプレート

#set($keys = []) 
#foreach($key in $input.params().querystring.keySet()) 
    #set($success = $keys.add($key)) 
#end 

#foreach($key in $input.params().headers.keySet()) 
    #if(!$keys.contains($key)) 
    #set($success = $keys.add($key)) 
    #end 
#end 

#foreach($key in $input.params().path.keySet()) 
    #if(!$keys.contains($key)) 
    #set($success = $keys.add($key)) 
    #end 
#end 

{ 
#foreach($key in $keys) 
    "$key": "$util.escapeJavaScript($input.params($key))"#if($foreach.hasNext),#end 
#end 
} 

{ 
    "stage" : "$context.stage", 
    "request_id" : "$context.requestId", 
    "api_id" : "$context.apiId", 
    "resource_path" : "$context.resourcePath", 
    "resource_id" : "$context.resourceId", 
    "http_method" : "$context.httpMethod", 
    "source_ip" : "$context.identity.sourceIp", 
    "user-agent" : "$context.identity.userAgent", 
    "account_id" : "$context.identity.accountId", 
    "api_key" : "$context.identity.apiKey", 
    "caller" : "$context.identity.caller", 
    "user" : "$context.identity.user", 
    "user_arn" : "$context.identity.userArn" 
} 
私はヘッダを受信したい

、要求の呼び出し元のrequestBodyとソースIPは、
私のハンドラは現在、POJOで要求を受信するが、現在はrequestBody、ヘッダーまたは

答えて

1

は、私はあなたが持っているテンプレートがうまく動作しないと信じていたソースIPのいずれかを取得することができませんいくつかのメモリを割り当てる必要があるように見えるので、あなたがこのようなことをすればうまくいくでしょう。

{ 
    "method": "$context.httpMethod", 
    "body" : $input.json('$'), 
    "headers": { 
    #foreach($param in $input.params().header.keySet()) 
    "$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end 

    #end 
    }, 
    "queryParams": { 
    #foreach($param in $input.params().querystring.keySet()) 
    "$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end 

    #end 
    }, 
    "pathParams": { 
    #foreach($param in $input.params().path.keySet()) 
    "$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end 

    #end 
    }, 
    "source_ip" : "$context.identity.sourceIp" 
} 
関連する問題