各位大大,請問一下我做的node.js api
在postmen上運行出來的結果是
{
"mySum": null
}
我明明已經設定相加結果出來是null
不好意思可以幫我看一下哪裡有錯嗎?
var myRouter = require('./routes/myroute');
app.use('/my', myRouter);/
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
router.post('/sum', function(req, res) {
var n1 = parseInt(req.body.num1);
var n2 = parseInt(req.body.num2);
var sum = n1 + n2;
res.json({ mySum: sum});
});
module.exports = router;
你沒裝body-parser middleware啦。
npm install --save body-parser
然後在app裡面:
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:true}));//如果參數是url encoded格式
app.use(bodyParser.json({type:'application/*+json'}));//如果參數是json格式
//options看你的需要加,不一定跟我這裡的一樣,詳情請洽官網
然後req.body才能取得傳進來的值。
詳細請參考:https://github.com/expressjs/body-parser