本次实例搭建一个用户注册接口。
1、在根目录下新建一个routes/api文件夹,在里面新建一个users.js文件。此文件主要用于登录和注册等内容。
首先引入express:
const express = require("express");
实例化一个router:
const router = express.Router();
建立一个router.get方法,当输入地址时会返回里面的信息
router.get("/test",(req,res)=>{ //当输入地址/test时返回数据
res.json({msg:"login works"});
})
- 导出这个router
module.exports = router;
//整个users.js文件内容
// @login & register 用于登录和注册
const express = require("express"); //引入express
const router = express.Router(); //实例化一个router
//当输入地址/test时返回数据
router.get("/test",(req,res)=>{
res.json({msg:"login works"});
})
module.exports = router; //导出router
2、入口文件(server.js)做的事情
- 引入users.js文件
const users = require("./routes/api/users");
- 使用routes
app.use("/api/users",users);
//整个server.js文件内容,注意是在以前的基础上添加的
const express = require("express"); //引入express
const mongoose = require("mongoose");//引入mongoose
const users = require("./routes/api/users");//引入api Users.js
// DB config
const db = require("./config/keys").mongoURI;
// Connect to mongodb
mongoose.connect(db,{ useNewUrlParser: true },function(err){
if(err){
console.log('Connect Error'+err);
}else{
console.log("MongoDB Connected");
}
})
const app = express(); //实例化一个app
app.get("/",(req,res)=>{ //设置路由
res.send("Hello World!");
})
// 使用routes
app.use("/api/users",users);
const port = process.env.port || 5000; //对应一个端口号
app.listen(port,() =>{
console.log(`Server running on port ${port}`);
})
3、测试访问
浏览器地址输入:http://localhost:5000/api/users/test
测试结果:
4、创建模型,存储我们的数据(使用中间件body-Parser来使用users对象。
接下来是建立users的数据模型。)
- 在根目录创建models文件夹,里面新建文件User.js文件
- 在新建的User.js里面操作
- 引入mongoose,因为数据我们要存入mongose
const mongoose = require('mongoose');
- 实例化Schema
const Schema = mongoose.Schema;
- 创建Schema,注册和登录时需要什么字段,就在里面写什么
const UserSchema = new Schema({
name:{
type:String,
required:true,
},
email:{
type:String,
required:true,
},
password:{
type:String,
required:true,
},
avatar:{
type:String
},
date:{
type:Date,
default:Date.now
}
})
- 导出,到这一步模型就创建好了,后面就在入口文件server.js里面使用就好啦
module.exports = User = mongoose.model("users",UserSchema);
整个User.js文件:
const mongoose = require('mongoose'); //引入mongoose,因为数据我们要存入mongose
const Schema = mongoose.Schema; //实例化Schema
// Create Schema 创建Schema 注册和登录时需要什么字段,就在里面写什么
const UserSchema = new Schema({
name:{
type:String,
required:true,
},
email:{
type:String,
required:true,
},
password:{
type:String,
required:true,
},
avatar:{
type:String
},
date:{
type:Date,
default:Date.now
}
})
// 导出,到这一步模型就创建好了,后面就在server.js里面使用就好啦
module.exports = User = mongoose.model("users",UserSchema);