Expressのルーティングでパラメータを取得する方法
Expressのroute メソッドでパラメータを取得する方法の覚え書き。
get メソッド
パラメータはrequest.query
に格納されています。
分割代入
変数名は変更できません。
const { modulename } = request.query;
プロパティアクセサーを使った代入
好きな変数名に代入できます。
ドット表記法
const name = request.query.modulename;
ブラケット表記法
const name = request.query["modulename"];
パラメータ名にハイフンが付いている場合はブラケット表記法を使用します。
const roomId = request.query["room-id"];
クエリーを一括でオブジェクトに代入してから操作する
const query = request.query;
// 下記のように各パラメータにアクセスする.
query.modulename
post メソッド
パラメータはrequest.body
に格納されています。
まず、POSTデータを受け取るために次の記述が必要です。
const express = require('express');
const app = express();
app.use(express.urlencoded({ extended: true }));
分割代入
変数名は変更できません。
const { modulename } = request.body;
プロパティアクセサーを使った代入
好きな変数名に代入できます。
ドット表記法
const name = request.body.modulename;
ブラケット表記法
const name = request.body["modulename"];
パラメータ名にハイフンが付いている場合はブラケット表記法を使用します。
const roomId = request.body["room-id"];
json を受け取る場合
request.body
がjsonデータになります。
まず、POSTデータを受け取るために次のような記述が必要です。
const express = require('express');
const app = express();
app.use(express.json({ limit: '10mb' }));
json オブジェクトとして使用
const json = request.body;
json 文字列として使用
const jsonStr = JSON.stringify(request.body);