简单用户管理系统(P-04)

159 阅读1分钟

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方法可以访问 在服务器中可以看到
    image.png

接下来需要写接口的具体内容,查询一条数据,通过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, 接下来

image.png

image.png