Web開発中級
express.json()
一言で言うと
JSON ボディを自動パースする組込み。
もう少し詳しく
一言で言うと
JSON ボディを自動パースする組込み。
もう少し詳しく
Express 4.16.0 から本体に内蔵された JSON ボディパーサーミドルウェアです。それ以前は別途 body-parser パッケージを導入する必要がありましたが、現在は express.json() 単体で同等の機能が使えます。
app.use(express.json()) としてアプリ全体に適用するか、特定のルートだけに渡すと有効になります。リクエストボディが Content-Type: application/json で送られてきた場合にのみパースされ、結果は req.body に格納されます。それ以外の Content-Type のリクエストは無視されます。limit オプションでボディサイズの上限を設定することもできます(デフォルトは 100kb)。
実務でどう使うか
fetch や axios でリクエストを送る際は Content-Type: application/json ヘッダーを明示的に付ける必要があります。ヘッダーが欠けると express.json() がボディを無視し、req.body が undefined または空になります関連する章
Ch174 で詳しく学べます。