項目結(jié)構(gòu)
本次實例搭建一個用戶注冊接口焚鲜。
1、在根目錄下新建一個routes/api文件夾今野,在里面新建一個users.js文件牙寞。此文件主要用于登錄和注冊等內(nèi)容饺鹃。
首先引入express:
const express = require("express");
實例化一個router:
const router = express.Router();
建立一個router.get方法,當(dāng)輸入地址時會返回里面的信息
router.get("/test",(req,res)=>{ //當(dāng)輸入地址/test時返回數(shù)據(jù)
res.json({msg:"login works"});
})
- 導(dǎo)出這個router
module.exports = router;
//整個users.js文件內(nèi)容
// @login & register 用于登錄和注冊
const express = require("express"); //引入express
const router = express.Router(); //實例化一個router
//當(dāng)輸入地址/test時返回數(shù)據(jù)
router.get("/test",(req,res)=>{
res.json({msg:"login works"});
})
module.exports = router; //導(dǎo)出router
2间雀、入口文件(server.js)做的事情
- 引入users.js文件
const users = require("./routes/api/users");
- 使用routes
app.use("/api/users",users);
//整個server.js文件內(nèi)容尤慰,注意是在以前的基礎(chǔ)上添加的
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)=>{ //設(shè)置路由
res.send("Hello World!");
})
// 使用routes
app.use("/api/users",users);
const port = process.env.port || 5000; //對應(yīng)一個端口號
app.listen(port,() =>{
console.log(`Server running on port ${port}`);
})
3、測試訪問
瀏覽器地址輸入:http://localhost:5000/api/users/test
測試結(jié)果:
測試結(jié)果
4雷蹂、創(chuàng)建模型伟端,存儲我們的數(shù)據(jù)(使用中間件body-Parser來使用users對象。
接下來是建立users的數(shù)據(jù)模型匪煌。)
- 在根目錄創(chuàng)建models文件夾责蝠,里面新建文件User.js文件
- 在新建的User.js里面操作
- 引入mongoose,因為數(shù)據(jù)我們要存入mongose
const mongoose = require('mongoose');
- 實例化Schema
const Schema = mongoose.Schema;
- 創(chuàng)建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
}
})
- 導(dǎo)出,到這一步模型就創(chuàng)建好了,后面就在入口文件server.js里面使用就好啦
module.exports = User = mongoose.model("users",UserSchema);
整個User.js文件:
const mongoose = require('mongoose'); //引入mongoose驳规,因為數(shù)據(jù)我們要存入mongose
const Schema = mongoose.Schema; //實例化Schema
// Create Schema 創(chuàng)建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
}
})
// 導(dǎo)出,到這一步模型就創(chuàng)建好了,后面就在server.js里面使用就好啦
module.exports = User = mongoose.model("users",UserSchema);