express4でPOSTメソッド使おうとしたらbodyDecoderもbodyParserも無かった。
express4でpostメソッド使ってみようと思った。 思ったので調べて試してみたのだけれど、bodyDecoderなんてミドルウェアはねぇよって怒られてしまった。
更に調べてみたら名前が変更になっていたらしいので変更後のbodyParserとやらを試したのだけれどこっちも怒られてしまった。
諦めて公式のドキュメントを見に行ったら一瞬で判明。body-parserっていう別のモジュールに切り離されていたらしい。
$ npm install body-parser
でインストール出来た。
テストで書いたコードがこんなの。
app.use(require('body-parser')()); app.get('/', function(req, res){ res.send('<form action="/newroom" method=post><input name=name><input type=submit></form>'); }); app.post('/post', function(req, res){ res.send(req.body.name); });
req.body
でアクセスできますよ、ということのようだ。楽でいいね。
しかし、ミドルウェアの名前変わりまくるのなんとかならんのか・・・。
参考: