Javascript API请求保存空项
我试图创建一个RESTFUL API,当我试图放置一些对象并在其之后检查DB时,API保存了一个空对象,即使我已经填充了postman键值。。这是我的密码 app.jsJavascript API请求保存空项,javascript,node.js,mongodb,api,express,Javascript,Node.js,Mongodb,Api,Express,我试图创建一个RESTFUL API,当我试图放置一些对象并在其之后检查DB时,API保存了一个空对象,即使我已经填充了postman键值。。这是我的密码 app.js var express = require('express'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var methodOverride = require("method-override"); var
var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var methodOverride = require("method-override");
var model = require('./models/librosModel')
var Libro = mongoose.model('Libro');
var LibrosCtrl = require('./libros');
// Configuración de la aplicación express
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(express.static(__dirname + '/client'));
console.log('ready');
//CONFIG END
//MONGO CONFIG
mongoose.connect('mongodb://localhost:27017/libros_trading');
mongoose.connection.on('open', function(){
console.log('Mongoose connected');
});
var usuarios = [];
var sesiones = [];
var libros = express.Router();
libros.route('/libros')
.get(LibrosCtrl.findAllBooks)
.post(LibrosCtrl.addBook);
libros.route('/libros/:id')
.get(LibrosCtrl.findById)
.put(LibrosCtrl.updateBook)
.delete(LibrosCtrl.deleteBook);
app.use('/api', libros);
libros.js
exports.addBook = function (req,res) {
console.log('POST');
console.log(req.body);
var nuevoLibro = new Libro({
tipo: req.body.tipo,
nombre: req.body.nombre,
descripcion: req.body.descipcion,
autor: req.body.autor,
img: req.body.img,
});
nuevoLibro.save(function (err,libro) {
if(err) res.status(500).send(err);
res.status(200).jsonp(libro);
});
console.log(nuevoLibro.nombre);
};
models/librosModel.js
var mongoose = require('mongoose');
Schema = mongoose.Schema;
var Libro = new Schema({
tipo: {type: String},
nombre: {type: String},
descripcion: {type: String},
autor: {type: String},
img: {type: String},
creado: { type: Date, default: Date.now }
});
//Este es el nombre que recibe en la db.collections
module.exports = mongoose.model('Libro', Libro);
尝试使用req.query而不是req.body。或者用邮递员来填尸体。并删除img:req.body.img后的逗号
exports.addBook = function (req,res) {
console.log('POST');
console.log(req.body);
var nuevoLibro = new Libro({
tipo: req.query.tipo,
nombre: req.query.nombre,
descripcion: req.query.descipcion,
autor: req.query.autor,
img: req.query.img
});
nuevoLibro.save(function (err,libro) {
if(err) res.status(500).send(err);
res.status(200).jsonp(libro);
});
console.log(nuevoLibro.nombre);
};