未显示Express body-parser req

时间:2017-03-29 09:31:12

标签: node.js express body-parser

我正在使用Express和body-parser,如下所示:



// Import all required library

var express = require('express')
var app = express()
var bodyParser = require('body-parser')


app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true, limit: '500mb'}))

var port = 3000


// Route for the API
var router = new express.Router()

router.get('/videos', (req, res, next) => {
    console.log('GET /' + req)
    return res.json({
      "Your videos"
    })
})


// Using Router
app.use('/', router)


app.listen(port, function(err){
	if (!err) {
		console.log("API started running at port 3000")
	}
})




使用的库版本是

    "dependencies": {
      "body-parser": "1.16.1",
      "express": "4.14.1"
    }

这未在req中显示任何查询参数。结果如下

   GET /[object Object]

当我使用POSTMAN到GET localhost:3000/videos?type=popularity时。 到目前为止,这种api设置一直在为我工作。谁能解释一下我做错了什么?

谢谢

2 个答案:

答案 0 :(得分:1)

而不是console.log('GET /' + req),请执行:

console.log('GET /', req);

你会得到完整的物品。

答案 1 :(得分:1)

查询参数可通过req.query获得:

console.log('GET /', req.query);

FWIW,body-parser不是访问这些内容的必要条件。