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でアクセスできますよ、ということのようだ。楽でいいね。

しかし、ミドルウェアの名前変わりまくるのなんとかならんのか・・・。


参考: