Я делаю API, используя express / bodyparser / MongoDB / postman, но всякий раз, когда я отправляю запрос POST, схема возвращает ошибку, как я могу исправить эту проблему?
Я пробовал разные варианты в Postman, например, проверял, правильно ли у меня были варианты, и проверял, установлен ли он в JSON.
Как выглядят мои требования:
const express = require("express");
const app = express();
const todoRoutes = require("./routes/todos");
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
Какая у меня схемавыглядит так:
var todoSchema = new mongoose.Schema({
name: {
type: String,
required: "Use a string"
},
completed: {
type: Boolean,
default: false
},
created_date: {
type: Date,
default: Date.now
}
});
Как выглядит мой POST-запрос:
router.post("/",function(req,res){
console.log(req.body);
db.Todo.create(req.body)
.then(function(newTodo){
res.json(newTodo);
})
.catch(function(err){
res.send(err);
});
});
Ошибка, которую возвращает почтальон:
{
"errors": {
"name": {
"message": "Use a string",
"name": "ValidatorError",
"properties": {
"message": "Use a string",
"type": "required",
"path": "name"
},
"kind": "required",
"path": "name"
}
},
"_message": "Todo validation failed",
"message": "Todo validation failed: name: Use a string",
"name": "ValidationError"
}
И console.logreq.body, когда я даю ключ имени и значение GoT:
'{\n "name" : "watch GoT"\n}': " }
Основная странная вещь, которую я вижу, это то, что по какой-то причине я получаю странный журнал из req.body в первую очередь(необычно 'и \ n)