美文网首页
(三)Node接口搭建——搭建路由和数据模型

(三)Node接口搭建——搭建路由和数据模型

作者: 彼得朱 | 来源:发表于2019-07-08 13:54 被阅读0次
项目结构

本次实例搭建一个用户注册接口。

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);

相关文章

网友评论

      本文标题:(三)Node接口搭建——搭建路由和数据模型

      本文链接:https://www.haomeiwen.com/subject/ojpohctx.html