質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1512閲覧

AWS API GatewayでHTTPリクエストのjsonを取得したい

docotodoco

総合スコア13

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2019/01/31 15:26

編集2019/02/01 14:12

前提・実現したいこと

AWSのAPI Gatewayを利用して、APIのモックを作成したいと思っています。
その際、以下のようなJSONのHTTPリクエスト受け付けて、
【JSON】
{"test":"0"}

testの値によって、HTTPレスポンスを変えたいと考えています。
そのため、統合レスポンスのマッピングテンプレートから「application/json」のテンプレートを以下のように記載しています。

【テンプレート】

#if($input.json('$.test') == "0") {"result":"0"} #else {"result":"1"} #end

発生している問題・エラーメッセージ

APIに対して以下のようなJSONのHTTPリクエストを投げても、必ずelse側の処理に入り
以下の通り返却されてしまいます。
(そもそも「$input.json('$.test')」で何も値が取れていない)

【リクエストのJSON】
{"test":"0"}

【レスポンスのJSON】
{"result":"1"}

HTTPリクエストのjsonから値を取得する部分の記載に誤りがあるのでしょうか?
何か考えられる原因等ご指摘いただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

docotodoco

2019/02/01 14:13

ご指摘ありがとうございます。 コードブロックを追加し、エスケープをはずしました。
guest

回答1

0

ベストアンサー

こんにちは。

残念なことに統合タイプ:Mockを使用した場合、
統合レスポンスのマッピングテンプレートでリクエスト本文を取得することはできないようです。
統合タイプ:Lambda 関数にするなどしましょう。

参考:amazon web services - AWS API Gateway: Use Mock Integration to echo response body

投稿2019/02/02 02:30

firedfly

総合スコア1131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

docotodoco

2019/02/02 11:09

ご回答ありがとうございます。 クエリパラメータは取得できるのですが、body部のパラメータは取得できないのですね。。。 ご指摘の通り、Lambdaを用いての実装を検討しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問