2017-01-16 11 views
0

これは単純な問題であったはずですが、なぜそれがすべての検索で(あまりにも長い日だったのかもしれません)わからなかったのか分かりません。API Gateway - Get StatusCode

私はAPIゲートウェイAPIのセットアップを持っている、と私は400 *エラーグループのために私のIntegration ResponseBody Mapping Templateを追加してい:画像参照 - 私が取得したいすべてののStatusCodeある

enter image description here

を現在のレスポンス(これは400 *グループのように - 例えば401/403/404など)

私が一番近かったのはこのサイトでした:AWS help documentationと私は$context.statusCodeのようなものを使用できると思っていましたが、運。

私は狂っているのですか、これは何か頻繁に必要なものではありませんか?

PS - 呼び出されているラムダ関数に変更を加えることはオプションではありません。

ありがとうございます。

答えて

0

のための統合応答ステータスコード専用のAPIゲートウェイにはマッピングテンプレート変数には、現在ありません。

これは確かに機能リクエストとして追加されます。

現時点では、応答テンプレートのステータスコード値をハードコードすることに限定されています。一般的なステータスコード(「4XX」)を定義するか、取得するステータスコードごとに統合レスポンスを定義する必要があります。これは退屈なようですが、これはSwaggerテンプレートで比較的簡単に管理できます。

現在のところ、統合応答ステータスコードを見る唯一の方法は、CloudWatchログを経由する方法です。

おかげで、 ライアン/アマゾンAPIゲートウェイ

+0

これは私が期待していた答えではありませんでした。許可正規表現のステータスコードが許可されていますが、あなたはそれがどのようなstatusCodeをキャッチすることはできません。それにもかかわらず、フィードバックのおかげで、これは後ではなく早く実装されることを望みます。 – Hexie

0

サーバーからエラーコードを送信する場合は、簡単にマップできます。

私は似たようなことをしましたが、別のトリックを使っています。私は自分のエラーエンティティとコードをサーバーから送信していました。

サーバーからのエラーエンティティとエラーコードを、アマゾンサーバーからの応答にマップする必要があります。私はこれで何を意味するのかを説明しようとします。 Api Gatewayは、あなた自身のサーバーからの応答を自動的にクライアントに送信しません。あなたはそれらの応答をマッピングする必要があります。たとえば、SUCESSおよびレスポンスエンティティとしてマップ200がデフォルトになります。つまり、サーバーからのものです。

ここでは、デフォルトの成功応答が管理されますが、エラーコードとエラーエンティティはどうなりますか?それらを手動でマップする必要があります。

あなたがこれを行うことができます2つの方法があり、

一つは、あなたのAPIに行き、手動です。エラーエンティティまたはモデルを作成します。それぞれの応答コードごとに手動でマッピングします。

これはスワッガーを使用しています。 解決策は、エラーエンティティの曖昧な仕様をインポートすることです。スジャーガー仕様にレスポンス・テンプレートを追加し、amazonに仕事をさせてください。

スガーザーでもっとお手伝いできます。それはあなたがアマゾンであなたのapiを設定する方法に依存します。

訪問これは闊歩するアマゾンextenstions、 http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-integration-response

+0

おかげAjinkyaが、私が述べたように、私はこれは、ステータスが不明であると仮定され、任意のラムダ関数とサーバーの呼び出しを行うために必要はありません。私は、同じ応答を得るためのヘッダや何かを介して方法が必要であると仮定しています。もしフィドルや郵便配達がそれを行うことができれば、確かにこれは難しいことではなく、おそらく私が逃した財産かもしれません。 – Hexie

+0

P.S.私はまた、それぞれの既知のステータスタイプごとに異なる応答を設定することを避けたいと思います。大きなAPIにはばかげているでしょう。 – Hexie

関連する問題