2016-12-12 12 views
0

APIゲートウェイを設定し、それをラムダ関数にリンクする方法を知っています。私が知らないこと、そして神が私が検索したことは、ラムダのAPI Gatewayからレスポンスボディを取得する方法です。ラムダ関数のAPIゲートウェイ呼び出しから応答本文を取得

どうすれば入手できますか? AWSコンソールでAPIをテストすると表示されます。

+0

ラムダ関数でアクセスするURLリクエストからのurlパラメータおよび/またはbodyパラメータのget queryパラメータを意味しますか? – Yan

+0

私は両方の方法を知りたいです – froinds

答えて

4

ボディマッピングテンプレートを設定する必要があると思います。後藤ゲートウェイAPI - >あなたが作成したAPI - >リソース - >メソッド(/ポストを取得します。) - >統合要求 - >ボディマッピングテンプレート - >マッピングテンプレート コンテンツタイプの追加:アプリケーション/ JSON

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

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

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

をあなたは、クエリが

チェックアウトの詳細情報については、これらのリンクをパラメータにアクセスするためにラムダ

params.Item = event.query;を変数にアクセスすることができるはず http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

https://kennbrodhagen.net/2015/12/06/how-to-create-a-request-object-for-your-lambda-event-from-api-gateway/

それが役立つかどうか教えてください。

+0

そうです。私はそれをテストするときに応答の本文を参照してください。しかし、私が外から呼び出すと、次のようになります。{"message": "Forbidden"} – froinds

+0

あなたはそれを稼働させていますか?ラムダ機能やブラウザの応答では、どこからメッセージが表示されますか? – Yan

+0

私はブラウザの応答でそれを見る – froinds

関連する問題