2016-11-13 5 views
1

ノードベースのサーバーでExpressを使用しています。サーバーは、複数の部分からなるフォームを使用するjsonのみのルートとファイルのアップロードルートを処理します。 Express3を使用する場合、組み込みパーサーは両方の種類のルートを解析していました。私はExpress4に移行中です。私がExpress4のために切り替えなければならないbody-parserは、jsonsだけを解析します。私は、ファイルのアップロードを解析するためにmulterパーサを使用しています。各ルートについてはNode.js Express3からExpress4への移行 - パーサーの使用

、私はのように、使用するパーサを指定しています:

var express = require('express'); 
var bodyParser = require('body-parser'); 
var multer = require('multer'); 

var jsonParser = bodyParser.json(); 
var upload = multer({dest : 'upload/' }); 
var uploadParser = upload.any(); 
var app = express(); 

// json route handling 
app.post('json_only_route', jsonParser, function(req, res) {...}); 

// upload route handling 
app.post('upload_route', uploadParser, function(req, res) {...}); 

また、JSONは、解析のためだけに、私は以下のように、同様multerパーサーを使用することができます

var jsonParserMulter = uploadParser.none(); 

// json route handling 
app.post('json_only_route', jsonParserMulter, function(req, res) {...}); 

一方のアプローチをもう一方のアプローチよりも使用する理由はありますか? 'body-parser'はjsonのみの解析でより良いパフォーマンスを提供しますか?

答えて

1

multerがJSONをサポートしていないようです。 uploadParser.none()を使用すると、JSONを文字列として渡します。 Express 'bodyParser.json()は、JSON文字列を解析してオブジェクトにする場合に使用します。

関連する問題