Node接口搭建-创建路由和数据模型
这一步骤我们主要讲解的是路由问题,所以需要在根目录下创建一个routes文件夹,里面创建一个api文件夹,
为了实现接口
- 创建一个users.js 文件,用于处理登陆和注册
一个测试方法,返回一个json数据,同时需要路由制定具体的方法
// @login & register
const express = require("express");
const router = express.Router(); // 路由指向
router.get("/test", (req, res) => {
res.json(
{
msg: 'login works'
}
)
})
module.exports = router;
在server.js中需要引入这个users文件,
// 使用routes
app.use("/api/users", users) // 制定路由位置
接下来我们可以创建模型根目录中
models 创建目录文件,创建User.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// 创建 Create 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
}
});
module.exports = User mongoose.model("users", UserSchema);
const express = require("express"); // 引入express
const mongoose = require("mongoose"); // 引入mongoose
const db = require("./config/keys").mongoURI; // DB config DB地址
const app = express(); // 实例化一个express
const users = require('./routes/api/users'); // 引入users
// Connect to mongodb
mongoose.connect(db)
.then(() => console.log("MongoDB Connect 连接成功"))
.catch(err => console.log(err));
app.get('/', (request ,response) => { // 访问路由
response.send("Hello World! 你好全世界!");
});
// 使用routes
app.use("/api/users", users)
// 后端处理跨域问题 ,为了安全考虑,去除这个
/* app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*'); // 允许所有访问
res.header('Access-Control-Allow-Headers', 'Content-Type');// 标记头
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS'); // 可以的方法
// res.header('Access-Control-Allow-Headers:Authorization,com') // 添加新的表头
next();
})
*/
const port = process.env.PORT || 5000; // 端口号
// 监听
app.listen(port, () => {
console.log(`Server runing on port ${port}`);
});
// 原始的node.js 写法
/* const http = require('http');
const hostname = '127.0.0.1' || 'localhost';
const port = 5000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type','text/plain');
res.end('hello world\n');
})
server.listen(port, hostname, ()=>{
console.log(`server runningat http://${hostname}:${port}/`);
}); */