Created
October 25, 2022 09:37
-
-
Save Deeks900/158a12868c21e39fc249fbd578b51faf to your computer and use it in GitHub Desktop.
Express Router
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require('express') | |
//app is an instance of express. | |
const app = express(); | |
//Middleware function --> converts data coming from frontend to json | |
app.use(express.json()) | |
app.listen(3000); | |
let users = [ | |
{ | |
id:1, | |
name: "User1" | |
}, | |
{ | |
id:2, | |
name:"User2" | |
}, | |
{ | |
id:3, | |
name:"User3" | |
} | |
]; | |
const userRouter = express.Router(); | |
//base Route, RouterToUse | |
app.use('/user', userRouter); | |
userRouter | |
.route('/') | |
.get(getUser) | |
.post(postUser) | |
.patch(updateUser) | |
.delete(deleteUser) | |
userRouter | |
.route('/:id') | |
.get(getUserById); | |
//Now writing these functions | |
function getUser(req, res){ | |
res.send(users); | |
} | |
function postUser(req, res){ | |
users = req.body; | |
res.json({ | |
message:"data received", | |
user:req.body, | |
}) | |
} | |
function updateUser(req, res){ | |
for(key in req.body){ | |
console.log("key", key); | |
console.log("users[key]", users[req.body[key]]) | |
console.log("req.body[key]", req.body[key]) | |
users[req.body[key]] = req.body[key] | |
} | |
res.json({ | |
message:"data updated!!" | |
}) | |
} | |
function deleteUser(req, res){ | |
users={}; | |
res.json({ | |
message:"deleted successfully!" | |
}) | |
} | |
function getUserById(req, res){ | |
console.log(req.params.id); | |
let paramId = req.params.id; | |
let obj = {}; | |
for(let i = 0; i < users.length; i++){ | |
if(users[i]['id'] == paramId){ | |
obj = users[i]; | |
} | |
} | |
res.json({ | |
message:"req received", | |
data:obj | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment