Я делаю метод POST для моего API, используя EXPRESS ROUTER, и это не работает - PullRequest
0 голосов
/ 04 июля 2019

Я работаю над проектом API для клиента.

Проблема заключается в использовании POSTMAN, когда я нажимаю POST метод, статус которого я получаю Status: 500 TypeError.

Я пыталсяположить некоторые данные в мою базу данных вручную, чтобы я мог проверить, работает ли мой метод CRUD.Метод GET работает нормально.

Это маршрут API, который я создал:

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

// Get Client
router.get('/', (req, res) => {
  Client.find()
    .sort({date: -1})
    .then(clients => res.json(clients))
    .catch(err => res.status(404).json(err))
})

// Create Client
router
  .post('/', (req, res) => {
    const newClient = new Client({
      name: req.body.name,
      email: req.body.email,
      phone: req.body.phone,
    })

newClient
  .save()
  .then(client => res.json(client))
  .catch(err => console.log(err))
})

module.exports = router

Это моя модель:

const mongoose = require('mongoose')
const Schema = mongoose.Schema
const ClientSchema = new Schema({
  name: {
    type: String,
    required: true,
  },
  email: {
    type: String,
    required: true,
  },
  phone: {
    type: String,
    required: true,
  },
  created_at: {
    type: Date,
    default: Date.now
  },
  updated_at: {
    type: Date,
    default: Date.now
  },
})

module.exports = Client = mongoose.model("client", ClientSchema);

Сообщение об ошибке: Cannot read property 'name' of undefined.

Я перепробовал все, что мог, изменил код, жестко запрограммировал некоторые поля, но ничего не работает.Как исправить полученную ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...