无法发布API /注册
问题描述:
我学习MEAN堆栈,我做了一个注册API,同时使用邮差测试它,我获得这些奇怪的错误是不能发布API /注册。无法发布API /注册
下面是错误的形象:
我server.js文件:
var express=require('express');
var bodyParser=require('body-parser');
var morgan=require('morgan');
var config=require('./config');
var mongoose=require('mongoose');
var app=express();
mongoose.connect(config.database,function(err){
if(err){
console.log(err);
}else{
console.log("Coonnected to database");
}
});
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(morgan('dev'));
var api=require('./app/routes/api')(app,express);
app.use('api',api);
app.get('/home',function(req,res){
res.sendFile(__dirname + '/public/views/index.html');
});
app.listen(config.port,function(err){
if(err){
console.log(err);
}else{
console.log("Listening on port 3000");
}
});
user.js的文件包括:
var mongoose=require('mongoose');
var Schema=mongoose.Schema;
var bcrypt=require('bcrypt-node');
var UserSchema=new Schema({
name: String,
username: String,
password: String
});
UserSchema.pre('save',function(next){
var user=this;
if(!user.unModified('password')) return next();
bcrypt.hash(user.password,null,null,function(err,hash){
if(err) return next(err);
user.password=hash;
next();
});
});
UserSchema.methods.comparePassword=function(password){
var user =this;
return bcrypt.compareSync(password,user.password);
}
module.exports=mongoose.model('User',UserSchema);
api.js文件:
var User=require('../models/user');
var config=require('../../config');
var secretKey=config.secretKey;
module.exports=function(app,express){
var api=express.Router();
api.post('/signup',function(req,res){
var user=new User({
name: req.body.name,
username: req.body.username,
password: req.body.password
});
user.save(function(err){
if(err){
res.send(err);
return;
}
else
res.json({ message:'User has been created'});
});
});
return api;
}
我不知道我错过了什么。
您的客户端员额的要求到端点/ API /注册,但在服务器上你有路线/注册。无论是固定或然后再试 –
你尝试'app.use( '/ API',API);',而不是'app.use( 'API',API);'? – mscdex
另外,请不要发布文字图像。相反,在问题中发布相关文本,以便文本更易于访问和搜索,并且还可以防止图像链接在某个时间点死亡。 – mscdex