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

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, 接下来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值