Привет, я получаю сообщение об ошибке при выполнении POST-запроса

#node.js #mongodb #mongoose

#node.js #mongodb #мангуст

Вопрос:

Я использую Nodejs, MongoDB и Mongoose, и при выполнении POST-запроса я получаю сообщение об ошибке: POST http://localhost:3000/subscribers Тип содержимого: application /json { «name»: «Lucky», «subscribedToChannel»: «Технология разработки» }

Ошибка: { «сообщение»: «Ошибка проверки подписчика: имя: name требуется путь., subscribedToChannel: subscribedToChannel требуется путь». } Фрагмент кода упоминается ниже:


server.js

 const express = require('express')
const app = express()
const mongoose = require('mongoose')

mongoose.connect(mongodb://localhost/subscribers, { useNewUrlParser: true })
const db = mongoose.connection
db.on('error', (error) => console.error(error))
db.once('open', () => console.log('Connected to Database'))


app.use(express.json())
const subscribersRouter = require('./routes/subscribers')
app.use('/subscribers', subscribersRouter)

app.listen(3000, () => console.log('Server Started'))```
---------------------------------------------------------------------------------------------------
routers/subscribers.js

const express = require('express')
const router = express.Router()
const Subscriber = require('../models/subscriber')

// Creating one
router.post('/', async (req, res) => {
  const subscriber = new Subscriber({
    name: req.body.name,
    subscribedToChannel: req.body.subscribedToChannel
  })
  try {
    const newSubscriber = await subscriber.save()
    res.status(201).json(newSubscriber)
  } catch (err) {
    res.status(400).json({ message: err.message })
  }
})


module.exports = router
----------------------------------------------------------------------------------------------------
models/subscriber.js

const mongoose = require('mongoose')

const subscriberSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  subscribedToChannel: {
    type: String,
    required: true
  },
  subscribeDate: {
    type: Date,
    required: true,
    default: Date.now
  }
})

module.exports = mongoose.model('Subscriber', subscriberSchema)


  [1]: https://i.stack.imgur.com/rHf38.jpg
  

Комментарии:

1. i.stack.imgur.com/rHf38.jpg Нажмите на ссылку, чтобы получить скриншот ошибки

2. Код выглядит хорошо для меня, как вы делаете запрос? Какое значение req.body в этом маршруте?

Ответ №1:

Используйте bodyParser выше app.use(express.json())

Например: app.use(bodyparser.urlencoded({ extended : false }))