Express の body-parser のデフォルト値

2021-09-07

Express のAPIに大き目のJSONを渡そうとしたら 413 Payload Too Large が返ってきたので調べたら、body-parser の制限でデフォルト 100KB になっているためだった。(JSON 以外も 100KB がデフォルトっぽい)

https://www.npmjs.com/package/body-parser#limit

補足

AWS で以下の構成で作っているので、各AWSサービスのどこかの制限に引っかかったのかな、と最初は思って調べていたが、CloudWatch Logs を見るとJSで起きたエラーっぽかったので気づいた。
最初にちゃんとエラーログが出ているかも確認するの大事。

  1. Amazon CloudFront
  2. Amazon API Gateway (HTTP API)
  3. AWS Lambda
  4. (Lambda 内で) @vendia/serverless-express
  5. (Lambda 内で) Express