【发布时间】:2016-11-02 04:12:00
【问题描述】:
我创建了一个小的express 应用程序。我只是想测试post 方法。但它根本不起作用。据我说一切都很好。但我无法弄清楚这个问题。有人帮帮我吗?
我的 server.js 文件:
var express = require('express');
var bodyParser = require('body-parser');
var Post = require('./models/post');
var app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.get('/api/posts', function( req, res) {
res.json([
{
username:"dickeyxxx",
body : "node rocksxx"
}
])
});
app.post('/api/posts', function( req, res, next) {
var post = new Post({
username:req.body.username,
body:req.body.body
})
post.save(function(err, post){
if(err) { return next }
res.json(201,post);
})
})
app.listen(5000, function(){
console.log('Server Listening on', 5000);
})
我的 post.js:
var db = require('../db');
var Post = db.model('Post', {
username:{type:String, required:true},
body:{type:String,required:true},
date:{type:Date, required:true,default:Date.now}
});
module.exports = Post;
我的 db.js:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/social', function(){
console.log( 'mongoose connected' ); //i am getting consoled
});
module.exports = mongoose;
我对邮递员的尝试:
有人帮我吗?
【问题讨论】:
-
文档是否保存在mongoDb中?
-
您是否尝试添加一些 console.log 以查看它是否已到达您的 app.post 路由处理程序?
-
@Subburaj - 我猜这没有保存。 (我尝试使用 mongo shell 查看)但我看不到任何结果
-
您的应用在发送请求后立即运行??
-
您的
res.json(201,post);错误。如果您想发送状态 201,请使用res.status(201).json(post);参见 expressjs.com/en/api.html#res.json