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

5分钟搭建Restful后端

时间:2023-04-03 19:11:37 Node.js

原材料expressmongooseseven-expressexpress-session开始使用npm安装express和脚手架$npminstall-g--saveexpressexpress-generator初始化项目默认使用Jade模板,可以使用--view==表示其他模板。$expressseven-test$cdseven-test$npminstall$npminstallmongooseseven-expressexpress-sessionConfigure用于app.js配置。默认配置很麻烦。我们先把配置文件精简一下,只留下我们需要的部分,如果需要其他中间件,后面可以自己配置。varexpress=require('express');varpath=require('path');varcookieParser=require('cookie-parser');varbodyParser=require('body-parser');varapp=express();//视图引擎设置app.set('views',path.join(__dirname,'views'));app.set('viewengine','jade');//将你的图标放在/public/后取消注释/app.use(favicon(path.join(__dirname,'public','favicon.ico')));app.use(bodyParser.json());app.使用(bodyParser.urlencoded({extended:false}));app.use(cookieParser());app.use(express.static(path.join(__dirname,'public')));module.exports=应用程序;下面我们做进一步的配置,我们需要中间件导入和配置。varexpress=require('express');varpath=require('path');varcookieParser=require('cookie-parser');varbodyParser=require('body-parser');varsession=require('express-session');varmongoose=require('mongoose');varseven=require('seven-express');varrouter=express.Router();varapp=express();//连接数据库mongoose.connect('mongodb://localhost:27017/Test');//视图引擎设置app.set('views',path.join(__dirname,'views'));app.set('viewengine','jade');//将你的favicon放在/public//app.use(favicon(path.join(__dirname,'public','favicon.ico')));app.use(bodyParser.json());app.use(bodyParser.json())后取消注释。使用(bodyParser.urlencoded({扩展:假}));app.use(cookieParser());app.use(express.static(path.join(__dirname,'public')));//添加session中间件app.use(session({secret:'12345',name:'seven-test',cookie:{maxAge:80000},resave:false,saveUninitialized:true}));//添加七中间件seven.creator(app,router,path.join(__dirname,'模式'));module.exports=应用程序;添加schema在项目目录下添加一个schema文件夹,然后在里面添加各种mongooseschema文件。如果需要七的权限管理功能,需要默认添加一个用户表,添加用户名、密码、角色属性。constmongoose=require('猫鼬');letUser=newmongoose.Schema({//用户名username:String,//密码password:String,//用户身份role:String,});module.exports=User;添加七个配置文件。自定义配置请参考后面七个中间件的介绍。这是一个例子。{“规则”:{“用户”:{“创建”:{“键”:“用户名”,“bodyList”:[“用户名”,“角色”]},“更新”:{“bodyList”:[”username"]}}},"authority":{"role":["admin","user","superadmin"],"filter":{"user":{"Create":false,"Retrieve":["admin"],"Update":["user","admin","superadmin"]}}}}运行现在你可以运行整个项目了。$npmstart如果正常,users分页get/user/page/:pageCreatepost/userDeletedelete/user/:idUpdateput/user/:idLoginpost/loginRetrieveget/user/:id这些都是为了Restful自动映射到模式的API具有可配置的参数检查功能和可配置的权限管理功能。至此,我们一行代码都没有写就实现了整个RestfulAPI的后端功能。七快递,我们如何实现这样的自动映射?嗯,主要是seven-express实现的Mongoose.schema到RestfulAPI的映射,还增加了其他成熟的功能模块。这也是我最近拼命开发的一个中间件(或者插件),现在开源了。在github上,并在npm中发布。现在有更详细的中文文档,项目地址:7因为我现在学业比较重,所以开发速度不会特别快,但是我会尽我所能维护这个开源项目,欢迎大家star和使用它。如果您在使用过程中有任何问题,可以直接联系我,也可以直接维修。我会尽快回复您,也欢迎您对这种无后端模式提出宝贵的建议。邮箱:610347922@qq.com