我在这里遇到了一些问题。我是node.js和Rest API的新手,但我正在努力学习。我使用MongoDB创建了与我的数据库通信的REST API,我使用Postman来测试我的路由是否正常工作。问题是,我的路线停止工作,我不知道为什么。
这是我的index.js
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
//set up express app
const app = express();
//connect to mongoose
mongoose.connect('mongodb://localhost/usersregs', { useMongoClient: true });
mongoose.Promise = global.Promise;
//parse the body before routes so teh acess is sucessfull
app.use(bodyParser.json());
//error handling middleware
app.use(function(err, req, res, next){
console.log(err);
//res.status(450).send({err: err.message})
});
//initialize routes
app.use('/api', require('./routes/api'));
//listen for request
app.listen(4000, function(){
console.log('Now listening for request at port 4000');
});
这是我的api.js,我的路线已定义
const express = require('express');
const router = express.Router();
const Users = require('../models/users');
const Joi = require('Joi');
//testing
router.get('/',function(req, res, next){
res.send('hello');
});
//turning the method public
module.exports = router;
我会在另一条路线上使用Joi。我在代码中找不到任何错误,使用“nodemon index”上传没问题。我在http://localhost:4000
尝试了accessind并收到了Cannot GET /
。我在api.js中定义了其他路由,但无论我发送什么样的请求,我总是得到Cannot GET /
作为响应或URL根据我的请求...
答案 0 :(得分:1)
由于您将./routes/api.js
引入.use('/api')
的某些内容,因此所有这些路线都与'/ api'相关。
所以,你没有'/'路线,但http://localhost:4000/api/
应该有效。