バージョン
- node.js: v6.2.2
- express: 4.14.0
- body-parser: 1.15.2
expressでPOSTを受け取る
app.js側を用意する
app.js
const express = require('express');
const app = express();
app.listen(3000);
console.log('Server is online.');
app.post('/', function(req, res) {
res.send('POST is sended.');
})
curlでたたく
$ curl -X POST http://localhost:3000
POSTパラメータをJSONで取得する
app.js側を用意する
POSTパラメータをJSONで取得するにはbody-parser
を使う。
app.js
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// urlencodedとjsonは別々に初期化する
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.listen(3000);
console.log('Server is online.');
app.post('/', function(req, res) {
// リクエストボディを出力
console.log(req.body);
// パラメータ名、nameを出力
console.log(req.body.name);
res.send('POST request to the homepage');
})
curlで叩く
HTTPHeaderでapplication/json
を受け付けるように記述。
-d
オプションでパラメータを追加。
$ curl -X POST http://localhost:3000 -H "Accept: application/json" -H "Content-type: application/json" -d '{ "name" : "tanaka" }'
出力結果
Server is online.
{ name: 'tanaka' }
tanaka