Express .post路由方法未定义

我是新来的nodejs和expression,我似乎无法幻想,为什么这种方法没有在Webstorm中解决。 .get方法会返回正常,用.all方法testing它也能正常工作。 我不知道为什么.post方法未解决,节点启动正常,但如果我尝试通过邮递员发送一个post请求,它只是给出了一个错误:

邮差错误

app.js

'use strict'; var express = require("express"); var bodyParser = require("body-parser"); var app = express(); var routes = require("./routes"); app.use(function (req, res, next) { console.log(`${req.method} ${req.originalUrl}`); next(); }); app.use(bodyParser.json()); app.use("/questions", routes); // routes(app); var port = process.env.PORT || 3000; app.listen(port, function () { console.log("Express is running at", port); }); 

routes.js

 'use strict'; var express = require("express"); var router = express.Router(); // GET /questions // Route for getting all questions router.get("/", function (req, res) { res.json({ response: "You sent me an awesome GET request, thank you!" }); }); // POST /questions // Route for creating a question router.post("/questions", function (req, res) { res.json({ response: "You sent me an awesome POST request, thank you!" }); body: req.body; }); module.exports = router; 

的package.json

 { "name": "02-express-api", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.15.2", "express": "^4.13.4" } } 

router.post("/questions",应该是router.post("/",为此工作;现在,该处理程序正在响应URI /questions/questions因为路由器本身被连接来处理/questions下的URI 。