route.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const Movie = require('../models/movie.js')
  2. const express = require('express')
  3. const router = express.Router()
  4. // GET
  5. router.route('/movies').get(function (req, res) {
  6. Movie.find(function (err, movies) {
  7. if (err) {
  8. return res.send(err)
  9. }
  10. res.json(movies)
  11. })
  12. })
  13. // POST
  14. router.route('/movies').post(function (req, res) {
  15. console.log('Body:', req.body)
  16. const movie = new Movie(req.body)
  17. console.log('Movie:', movie)
  18. movie.save(function (err) {
  19. if (err) {
  20. return res.send(err)
  21. }
  22. res.send({ message: 'Movie added.' })
  23. })
  24. })
  25. // PUT
  26. router.route('/movies/:id').put(function (req, res) {
  27. Movie.findOne({ _id: req.params.id }, function (err, movie) {
  28. if (err) {
  29. return res.send(err)
  30. }
  31. for (prop in req.body) {
  32. movie[prop] = req.body[prop]
  33. }
  34. console.log('Movie:', movie)
  35. movie.save(function (req, res) {
  36. if (err) {
  37. return res.send(err)
  38. }
  39. res.json({ message: 'Movie updated.' })
  40. })
  41. })
  42. })
  43. // GET :id
  44. router.route('/movies/:id').get(function (req, res) {
  45. Movie.findOne({ _id: req.params.id }, function (err, movie) {
  46. if (err) {
  47. return res.send(err)
  48. }
  49. res.json(movie)
  50. })
  51. })
  52. // GET :id
  53. router.route('/movies/:id').delete(function (req, res) {
  54. Movie.remove({ _id: req.params.id }, function (err, movie) {
  55. if (err) {
  56. return res.send(err)
  57. }
  58. res.json({ message: 'Movie deleted.' })
  59. })
  60. })
  61. module.exports = router