以下の内容はhttps://maitakeramen.hatenablog.com/entry/2019/02/22/105438より取得しました。


AWS API GatewayでPOSTリクエスト受け取り時にエラー

エラー内容

{"message": "Could not parse request body into json: Unrecognized token \'stripeToken\': was expecting (\'true\', \'false\' or \'null\')\n at [Source: [B@31769add; line: 1, column: 13]"}

原因

jsonをパース出来ないというエラーが発生しています。
リクエストは素のままだとJSONPath式なので、JSONPath式をjsonに変換する設定がAWS API Gateway側で必要になります。

解決策(設定方法)

1. API Gatewayの画面を開く
2. 対象のAPIを選択
3. 「POST」を選択
AWS API GatewayでPOSTリクエストについての設定1

4. 右側に出てくる、「統合リクエスト」をクリック
AWS API GatewayでPOSTリクエストについての設定2

5. 下の方にある「マッピングテンプレート」をクリック
AWS API GatewayでPOSTリクエストについての設定3

6. 「マッピングテンプレートを追加」をクリック
AWS API GatewayでPOSTリクエストについての設定4

7. 「application/x-www-form-urlencoded」を入力
8. チェックマークをクリックすると、更に下に入力欄が出てくるので、以下を入力

{
  "body" : $input.json('$')
}

AWS API GatewayでPOSTリクエストについての設定5

もしくは、テンプレート生成から作るでも有りですね。


9. 「保存」をクリック
10. 最後にAPIのデプロイをして設定を反映させる。

と、言ったところですね。

知らなきゃわかんなくね?

しかしこれ、どうやったら自己解決できるんですかね。
知らん人はマッピングテンプレートを追加するって発想にいきなりならんよね...
どのあたりの基礎があれば、こういった設定が当然であることに気づけますかね。
そして基礎がある人でも文法はいきなり分かりませんよね。ヘルプへのリンクすぐ下とかに貼っておいてくれれば良いのに。

API Gateway のマッピングテンプレートリファレンス - Amazon API Gateway




以上の内容はhttps://maitakeramen.hatenablog.com/entry/2019/02/22/105438より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14