Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 1.04 KB

section30.1.md

File metadata and controls

47 lines (38 loc) · 1.04 KB

Section 30.1: REST API for CRUD in Express 3+

let express = require("express");
let bodyParser = require("body-parser");
let server = express();

//body parser for parsing request body
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));

//temperary store for `item` in memory
var itemStore = [];

//GET all items
server.get('/item', function (req, res) {
  res.json(itemStore);
});

//GET the item with specified id
server.get('/item/:id', function (req, res) {
  res.json(itemStore[req.params.id]);
});

//POST new item
server.post('/item', function (req, res) {
  itemStore.push(req.body);
  res.json(req.body);
});

//PUT edited item in-place of item with specified id
server.put('/item/:id', function (req, res) {
  itemStore[req.params.id] = req.body
  res.json(req.body);
});

//DELETE item with specified id
server.delete('/item/:id', function (req, res) {
  itemStore.splice(req.params.id, 1)
  res.json(req.body);
});

//START SERVER
server.listen(3000, function () {
  console.log("Server running");
});