便宜网站空间,网站建设 讲话,网站建设费用要摊销嘛,wordpress怎么增加语言目录 前言
初始化路由模块
使用postman发送get获取用户信息请求
初始化路由处理函数模块
获取用户基本信息 前言
在前两篇文章中已经介绍了如何编写用户注册接口以及用户登录接口#xff0c;这篇文章介绍如何获取用户信息#xff0c;本篇文章建立在Node编写用户登录接口…目录 前言
初始化路由模块
使用postman发送get获取用户信息请求
初始化路由处理函数模块
获取用户基本信息 前言
在前两篇文章中已经介绍了如何编写用户注册接口以及用户登录接口这篇文章介绍如何获取用户信息本篇文章建立在Node编写用户登录接口和Node编写用户注册接口
初始化路由模块
// 导入 express
const express require(express)
// 创建路由对象
const router express.Router()// 获取用户的基本信息
router.get(/userinfo, (req, res) {res.send(ok)
})// 向外共享路由对象
module.exports router
在服务器中导入并使用该模块
// 导入并使用用户信息路由模块
const userinfoRouter require(./router/userinfo)
// 注意以 /my 开头的接口都是有权限的接口需要进行 Token 身份认证
app.use(/my, userinfoRouter)
使用postman发送get获取用户信息请求
显示身份认证失败这是因为需要进行token身份认证 需要在headers中添加请求头authorization并且加上在登录时生成的token值 获取到了token 初始化路由处理函数模块
创建 /router_handler/userinfo.js 路由处理函数模块
//获取用户信息的处理函数
exports.getUserinfo (req,res){res.send(获取用户信息成功)
}
将get请求接口修改为
router.get(/userinfo,userinfo_handler.getUserinfo)
postman验证是否可用 获取用户基本信息
在路由处理函数模块导入数据库模块
// 导入数据库模块
const db require(../../db/index)
定义sql语句根据用户id查询用户信息需剔除用户密码
// 根据用户的 id查询用户的基本信息
// 注意为了防止用户的密码泄露需要排除 password 字段
const sql select id, username, nickname, email, user_pic from ev_users where id?
调用db.query()方法使用sql语句
// 注意req 对象上的 user 属性是 Token 解析成功express-jwt 中间件帮我们挂载上去的
db.query(sql, req.auth.id, (err, results) {// 1. 执行 SQL 语句失败if (err) return res.cc(err)// 2. 执行 SQL 语句成功但是查询到的数据条数不等于 1if (results.length ! 1) return res.cc(获取用户信息失败)// 3. 将用户信息响应给客户端res.send({status: 0,message: 获取用户基本信息成功,data: results[0],})
})
完整请求获取用户信息代码
exports.getUserinfo (req,res){// 定义sql语句,根据idconst sql select id,username,nickname,email,user_pic from ev_users where id ?db.query(sql,req.auth.id,(err,results){// 判断sql语句是否执行成功if(err) return res.send({status:0,message:err.message})// 判断查询到的数据是否为1if(results.length!1) return res.send({status:0,message:获取用户信息失败})// 向客户端发送用户信息res.send({status:0,message:获取用户信息成功,data:results[0]})})}
使用postman发送请求 获取成功