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(登录)接口编写记录