当前位置: 首页 > 后端技术 > Node.js

4.3路由设计-RESTfulAPI-博客后端Api-NodeJs+Express+Mysql实战

时间:2023-04-03 13:10:48 Node.js

路由设计路由设计以用户注册为例,介绍如何注册闭环用户。开发注意事项:(1)用邮箱注册(2)验证邮箱是否注册【目前真正的开发业务大多是用手机号注册的。这块是因为没有购买短信服务】首先在routers文件夹下新建user.js。上图中checkEmail和reg对应的是真正的业务逻辑。现在附上checkEmail和reg业务实现代码/***usercontrollers*addbywwj*2019-05-0320:52:05*/varco=require('co');varmd5=require('blueimp-MD5');//md5加密vari18n=require('i18n');//i18n国际化varutils=require('../libs/utils');//工具类varUser=require('../models/index').User;//用户//vartokenService=require('../services/token');//tokenservicemodule.exports={/***检查邮箱是否注册checkEmail*/checkEmail:function(req,res,next){//参数varparams=req.query||请求参数;//变量varemail=utils.trim(params.email);if(!email){utils.handleJson({response:res,msg:i18n.__('success'),result:{emailHadReg:false,},});}co(function*(){varuserResult=yieldUser.findOne({where:{email:email,},});变量结果=假;如果(用户结果){结果=真;}//成功utils.handleJson({response:res,msg:i18n.__('success'),result:{emailHadReg:result,},});}).catch(function(error){//errutils.handleError({response:res,error:error,});});},/***注册帖子*/reg:function(req,res,next){varparams=req.body;//变量varemail=utils.trim(params.email);varpassword=utils.trim(params.password);//检查用户名和密码是否为空if(!email||!password){utils.handleJson({response:res,msg:i18n.__('emailOrPwdNull'),});返回;}//检查是否注册co(function*(){varuserResult=yieldUser.findOne({where:{email:email,},});//用户已经注册if(userResult){utils.handleJson({response:res,msg:i18n.__('emailHadReg'),});return;}userResult=yieldUser.create({email:email,password:md5(password),state:"1",//默认activatedstatefirst//状态0为未激活邮箱,1为激活邮箱});if(!userResult){//注册失败utils.handleJson({response:res,msg:i18n.__('regFail'),});return;}//存储成功varuser=userResult.dataValues;//删除密码deleteuser.password;//成功utils.handleJson({response:res,msg:i18n.__('regSuccess'),result:{user:user,//accessToken:tokenService.setToken({//uuid:user.uuid//}),//令牌},});}).catch(function(error){//errutils.handleError({response:res,error:error,});});},};【自测链接】使用Postman测试验证接口正确性Postman下载https://www.getpostman.com/http://chromecj.com/web-devel...运行项目先npmrundevRESTfulAPIRESTfulAPI最佳实践http://www.ruanyifeng.com/blo...NodejsRESTFul架构实践的Api文章https://my.oschina.net/nodeon...以本项目为例,查询用户信息和更新用户信息的接口可以根据不同的请求方式来实践