Node-express项目--个人简历:多种方法获取用户数据接口编写

Posted 安之ccy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node-express项目--个人简历:多种方法获取用户数据接口编写相关的知识,希望对你有一定的参考价值。

通过多种方法获取用户信息profile,分别是:
1.通过handle获取;
2.通过user_id获取;
3.获取全部用户信息。

通过handle获取

  • 编写的“套路”和之前的类似,仅作路径修改,
  • 由于查询这些数据不需要绑定某个用户,所以此处把该接口设为public,不用通过token认证,
  • 注意路径里的冒号,冒号后面是传递的参数
//$route GET api/profile/handle/:handle
//@desc 通过handle获取用户信息
//@access public
router.get("/handle/:handle", (req, res) => {
    const errors = {}
    Profile.findOne({ handle: req.params.handle }) 
        .then(profile => {
            if (!profile) {
                errors.noprofile = "用户信息不存在"
                return res.status(404).json(errors)
            }
            res.json(profile)
        })
        
        .catch(err => { res.status(404).json(err) })

})

postman测试:
在这里插入图片描述


通过user_id获取

//$route GET api/profile/user/:user_id
//@desc 通过user_id获取用户信息
//@access public
router.get("/user/:user_id", (req, res) => {
    const errors = {}
    Profile.findOne({ user: req.params.user_id }) 
        .then(profile => {
            if (!profile) {
                errors.noprofile = "用户信息不存在"
                return res.status(404).json(errors)
            }
            res.json(profile)
        })
        
        .catch(err => { res.status(404).json(err) })

})

postman测试:
上面案例输出的结果中,user字段值就是user_id,我们可以直接复制过来使用,也可以去数据库里找

数据库中的profiles表:
在这里插入图片描述

postman结果:
在这里插入图片描述

获取全部用户信息

获取的是全部信息,不再使用findOne过滤搜索,而是用find搜索全部

//$route GET api/profile/all
//@desc 获取所有用户信息
//@access public
router.get("/all", (req, res) => {
    const errors = {}
    Profile.find() 
        .then(profiles => {
            if (!profiles) {
                errors.noprofile = "没有找到任何用户信息"
                return res.status(404).json(errors)
            }
            res.json(profiles)
        })
        
        .catch(err => { res.status(404).json(err) })

})

postman测试:
数据库里:
在这里插入图片描述

postman测试:
在这里插入图片描述

另:如果profile只有一条数据,可以register注册一个账号(api/users/register),然后login登录(api/users/login),获取token之后,用profile接口添加个人信息(api/profile/),即重复前面几篇文章讲的操作,profile就有多条信息,可以测试all接口

以上是关于Node-express项目--个人简历:多种方法获取用户数据接口编写的主要内容,如果未能解决你的问题,请参考以下文章

Node-express项目--个人简历:搭建个人经历experience接口

Node-express项目--个人简历:添加token认证

Node-express项目--个人简历:register(注册)接口编写记录

Node-express项目--个人简历:login(登录)接口编写记录

Node-express项目--个人简历:搭建当前用户的个人信息接口Profile

Node-express项目--个人简历:解决问题“experience字段没有手动输入却显示数据”