[node]ルーティングget、postパラメータの取得


#1 Getメソッド


1.1 Querystring
Querystring
'req.param()クエリーを使用して、リクエストのパラメータを取得できます.
app.get('/user', function (req, res) {
   var u_name = req.param('name');
   var u_age = req.param('age');

   res.send("User Name : " + u_name + " / User Age : " + u_age);
});
「クエリーのidはnameとageで、サーバに送信したいデータを送信するように要求します.」申請http://localhost:3000/user?name=kim&age=20」羅ページでは、次のような状況が発生します.
1.2 Path
'req.パラメータはparam()を使用して取得できますが、「req」です.「paramsの使用」が望ましい.req.paramsはjsonオブジェクトで、データにアクセスするキーはルーティング時に「/:key」形式に指定できます.転送するデータ(値)をパスに適した位置要求に入力すればよい.次のサンプルコードを見てみましょう.
app.get('/user/:name/:age', function (req, res) {
   var params = req.params;
   console.log(params);
   
   res.send("User Name : " + params.name + " / User Age : " + params.age);
});
'req.params「オブジェクトのキーはnameとageとして指定され、コンソールに印刷されてparamsのデータ型がわかります.「データを入力し、正しいパスに送信します.」http://localhost:3000/user/kim/20」羅ページのリクエストを送信します.

#2 Postメソッド


POST method
POST方式要求のパラメータ転送は,我々が見えない主体で行われる.bodyでデータを受信するために、「req.on()は使えますが、外部モジュール「body-parser」を使うのは簡単です.Express v 4の場合.16.0以上を使用すると、自動的にExpressに組み込まれます.
$ npm install body-parser
インストールが完了したら、body-parserを使用するには、モジュールをインポートした後にbodyタイプを登録する必要があります.
var bodyParser = require('body-parser');	// 모듈 import. Express v4.16.0이상은 생략 가능

app.use(bodyParser.json());	// json 등록
app.use(bodyParser.urlencoded({ extended : false }));	// URL-encoded 등록
「URL-encodedは、アドレス形式でデータを送信する方式です.」「extended」オプションがfalseの場合、クエリーを解析するにはquerystringモジュールを使用し、true面qsモジュールを使用する必要があります.すべてが終わったら、「req.body」を利用してパラメータを得ることができます.このほか、RawやText形式を説明するbodyを追加することもできますが、この場合はexpress内蔵のbody-parserではなく、個別のbody-parserをインストールする必要があります.
準備が整うと「req.body」を使用すると、データ転送を受信できます.
app.get('/', function (req, res) {
    var template = 
    `<!DOCTYPE html>
    <html>
        <body>
            <form action='/login' method='post'>
                ID : <input type='text' name='id'><br>
                PWD : <input type='password' name='pwd'><br>
                <input type='submit' value='login'>
            </form>
        </body>
    </html>`;
    res.writeHead(200, {'ContentType':'text/html'});
    res.write(template);
    res.end();
});

app.post('/login',function (req, res) {
   var body = req.body;
   console.log(body);

   res.send("ID : " + body.id + " / PWD : " + body.pwd);
});
「POST要求および受信要求のデータを処理するためのページが簡単に作成された.」req.body」はjsonオブジェクトとしてコンソールに出力されて検証された.
ソース:
https://gongbu-ing.tistory.com/26