Node接口搭建-创建路由和数据模型
我们需要一个工具PostMan,用来调试数据, 接下来我么你需要写接口了
- 注册接口,打开users.js、之前写的test接口
router.get("/test", (req, res) => {
res.json(
{
code: 0,
msg: 'test数据操作成功!'
}
)
})
复制代码
现在我们需要写一个register 注册接口 ,需要post ,记得看下restful api;
- 安装body-parser
npm install body-parser
安装好了后,需要在 server.js中去改变
// 使用body-parser中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
复制代码
// $route POST api/users/register
// @desc 返回的请求的json数据
// @access public
router.post('/register', (req, res) => {
console.log(req.body);
})
复制代码
- 此时你去postman上通过postman的post方法可以访问 在服务器中可以看到
接下来需要写接口的具体内容,查询一条数据,通过email 去验证,然后又对象返回执行内容
User.findOne({ email: req.body.email })
.then((user) => {
if (user) {
return res.status(200).json({
code: 1,
msg: `当前输入的邮箱{ email: ${req.body.email} }已被注册, 请换一个!`
})
} else {
const newUser = new User({
name: req.body.name,
email: req.body.email,
avatar,
password: req.body.password,
})
bcrypt.genSalt(10, function (err, salt) { // salt 回调函数
bcrypt.hash(newUser.password, salt, function (err, hash) {
if(err) throw err;
newUser.password = hash; // 将加密好的字符保存回去
newUser.save() // 保存数据
.then( user => res.json(user))
.catch( err => res.json({ code: 1, msg: `错误:${err}` }))
});
});
}
})
复制代码
这里还有一点,就是对密码进行加密操作,我们需要 安装 npm install bcrypt
, 接下来