postman为node.js端点返回404

时间:2017-06-11 17:52:06

标签: javascript node.js

我正在尝试使用node.js创建一个简单的休息端点。 我正在关注教程https://medium.freecodecamp.com/building-a-simple-node-js-api-in-under-30-minutes-a07ea9e390d2

文件夹结构是显着的/ app / routes /,routes文件夹包含index.js和note_routes.js文件

我可以运行命令npm run dev,显示的输出是:

> notable@1.0.0 dev /Users/tejanandamuri/Desktop/notable
> nodemon server.js

[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
We are live on 8000

之后。在邮递员中,当我尝试拨打http://localhost:8000/notes时,它会在响应正文中返回404错误无法发帖/备注

以下是我的文件:

server.js:

const express        = require('express');
const MongoClient    = require('mongodb').MongoClient;
const bodyParser     = require('body-parser');
const app            = express();
const port = 8000;
require('./app/routes')(app, {});
app.listen(port, () => {
  console.log('We are live on ' + port);
});

index.js:

// routes/index.js
const noteRoutes = require('./note_routes');
module.exports = function(app, db) {
  noteRoutes(app, db);
  // Other route groups could go here, in the future
};

note_routes.js

module.exports = function(app, db) {
  app.post('/notes', (req, res) => {
    // You'll create your note here.
    res.send('Hello')
  });
};

的package.json:

{
  "name": "notable",
  "version": "1.0.0",
  "description": "my first rest api",
  "main": "server.js",
  "dependencies": {
    "body-parser": "^1.17.2",
    "express": "^4.15.3",
    "mongodb": "^2.2.28"
  },
  "devDependencies": {
    "nodemon": "^1.11.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js",
    "dev": "nodemon server.js"
  },
  "author": "venkata",
  "license": "ISC"
}

1 个答案:

答案 0 :(得分:1)

将server.js中的第6行更改为require('./routes/note_routes')(app, {});

这假设您的文件树看起来像这样:

.
+--/node_modules // this contains a ton of sub-folders
+--/routes
+  +--index.js
+  +--note_routes.js
+--package.json
+--server.js

enter image description here