Конечные точки POST не работают с Express - PullRequest
0 голосов
/ 27 апреля 2018

Я пишу приложение для ежедневной отчетности по дневному уходу с использованием стека PERN, и у меня возникают проблемы с некоторыми из моих конечных точек POST. Нижеследующее работает правильно:

  app.get('/classroomList', (req, res) => {
        classroom.getClassrooms().then((classrooms) => { res.send(classrooms) })
  })
  app.get('/classroomList/:id',(req,res)=>{
        classroom.getStudentsByClass(req.params.id).then((student)=>{
              res.send(student)
        })
  })

  app.post('/classroomList', (req, res) => {      
        classroom.createClassroom(req.body)
        .then((classroom)=>{res.send(classroom.attributes)})

              })
  app.delete('/classroomList/:id', (req, res) => {
        console.log('req received')
        classroom.deleteClassroom(req.params.id).then((classroom) => {
              res.send('Deleted')
        })
  })

} 

Однако у меня есть несколько других, написанных точно таким же образом, которые возвращаются с ошибкой:

TypeError Students.createStudent не является функцией

Тот, что ниже, не работает и выдает вышеупомянутое сообщение об ошибке

module.exports = (app) => {
  const students = require('../controllers/studentController')

  app.get('/studentList', (req, res) => {
        students.getStudents().then((students) => { res.send(students) })
  })

  app.delete('/studentList/:id', (req, res) => {
        students.deleteStudent(req.params.id).then((student) => {
              res.send('Deleted')
        })
  })
  app.post('/studentList', (req, res) => {  
        console.log(req.body)    
        students.createStudent(req.body)
        .then((student)=>{console.log(student.attributes)})

  })
} 

Это контроллер, который работает:

exports.createClassroom = (classroom) => {
  console.log('function accessed')
  const newClassroom = new Classroom(
        classroom)
  return newClassroom.save()
        .then(classroom => {
              return classroom;
        })
        .catch(err => {
              console.log(err)
        })

А этот нет:

 exports.createStudent = (student) => {
              console.log('function accessed')
              const newStudent = new Student(
                    student)
              return newStudent.save()
                    .then(student => {
                          return student;
                    })
                    .catch(err => {
                          console.log(err)
                    })
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...