【发布时间】:2021-07-08 19:15:54
【问题描述】:
我正在尝试创建一个简单的 node.js API,并创建了一个 router.post 方法来保存数据并将保存的数据返回。但是对 post 请求的响应就像 {"message":""} 点击这个 url http://localhost:3000/posts (POST) 身体: { "title":"我的帖子", "description":"这是我的第一个 posxsxasxt 的描述"
}
这里是 app.js 文件
const express =require('express');
const app =express();
const mongoose=require('mongoose');
require('dotenv/config');
const bodyParser=require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
//Import Routes
const postsRoute = require('./routes/posts');
//Middleware
app.use(bodyParser.json());
app.use('/posts',postsRoute);
//Routes
app.get('/',(req,res) =>{
res.send('We are on home');
});
//Connect to DB
mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true , useUnifiedTopology: true }, ()=>
console.log("connected to DB!")
);
//how to start listening to server
app.listen(3000);
这是路线的代码
const express =require('express');
const router=express.Router();
const Post = require('../models/Posts');
router.get('/',(req,res)=>{
res.send('We are on posts');
});
router.get('/specificposts',(req,res)=>{
res.send('We are on posts');
});
router.post('/',(req,res) => {
const post = new Post({
title: req.body.title,
description: req.body.description
});
post.save()
.then( data => {
res.send(data);
})
.catch(err=>{
res.json({message:err});
});
});
module.exports = router;
这是数据库的架构
const mongoose=require('mongoose');
//create schema
const PostSchema = mongoose.Schema({
title:{
type:String,
required:true
},
description:{
type:String,
required:true
},
date:{
type:Date,
default: Date.now
}
});
module.exports=mongoose.model('Posts', PostSchema);
【问题讨论】:
标签: node.js mongodb express mongoose