From 765b3cdb894346a86b10caf96d259f43f19b8732 Mon Sep 17 00:00:00 2001 From: Aktaruzzaman Rakib Date: Mon, 30 Jul 2018 01:26:25 +0600 Subject: [PATCH 1/6] request handling --- index.js | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 140d081..0023869 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,47 @@ // importing http package -const http = require('http') +const http = require('http'); +const express = require('express'); +const app = express(); + + app.get('/name/:name', (req, res) => { + console.log(req.url); + res.end('HI !' + req.params.name); + }); + + app.get('/item', (req, res) =>{ + console.log(req.url); + res.end('you are in the item page !'); + }); + + app.get('/', (req, res) =>{ + console.log(req.url); + res.end('This is Home Page'); + }); + /* error Handling if bad Request */ + app.use((req, res, next) =>{ + const error = new Error('Not found'); + error.status = 404; + next(error); + }); + app.use((error, req, res, next) => { + res.json({ + error:{ + errorMessage: error.message, + notice: 'plz try to access with the valid request' + } + }); + }); + const server = http.createServer(app).listen(3000); + console.log('Server is Running having port ' +server.address().port); + +/* http.createServer(app).listen(3000); */ + /* // creating a basic server const server = http.createServer( function (req, res) { console.log("the req URL is: ") console.log(req.url) - + // basic routing if (req.url == "/") { res.end("this is the homepage") @@ -19,4 +55,4 @@ const server = http.createServer( function (req, res) { }).listen(3000, 'localhost', function() { console.log("the port is: ") console.log(server.address().port) -}) +}) */ From 56f1be39de278e1220d6ff15e83cb7dd3f158ae5 Mon Sep 17 00:00:00 2001 From: Saiful Islam Rasel Date: Mon, 30 Jul 2018 11:44:06 +0600 Subject: [PATCH 2/6] Successfully Add Saiful Islam Rasel's Info --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e478e8a..47a76d9 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,6 @@ This project is gonna be awesome! -Redwanuzzaman CSE-1692 \ No newline at end of file +Redwanuzzaman CSE-1692 + +Saiful Islam Rasel -> CSE-17045 \ No newline at end of file From a235c05481932ac0bca8d94a60b4955d5f0393cc Mon Sep 17 00:00:00 2001 From: Aktaruzzaman Rakib Date: Tue, 14 Aug 2018 01:16:36 +0600 Subject: [PATCH 3/6] include parse body into incoming request --- api/routes/customer.js | 26 ++++++++++++++++++++++++++ app.js | 14 ++++++++++++++ package.json | 6 +++++- server.js | 8 ++++++++ 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 api/routes/customer.js create mode 100644 app.js create mode 100644 server.js diff --git a/api/routes/customer.js b/api/routes/customer.js new file mode 100644 index 0000000..db47ff7 --- /dev/null +++ b/api/routes/customer.js @@ -0,0 +1,26 @@ + + const express = require('express'); + const router = express.Router(); + + router.get('/',(req, res, next) =>{ + res.status(200).json({ + message: 'Handlaing get request to /Customer' + }); + }); + + router.post('/',(req, res, next) =>{ + + const userDetails ={ + userId: req.body.userId, + userName: req.body.userName + } + console.log(userDetails.size); + + res.status(201).json({ + message: 'Handlaing Post request to /userDetails', + orderDetails: userDetails + }); + }); + + + module.exports = router; \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..1d7467b --- /dev/null +++ b/app.js @@ -0,0 +1,14 @@ + const express = require('express'); + const app = express(); + + //use to parse body into incoming request //have to install it by "npm install body-parser" command + const bodyParser = require('body-parser'); + //include customer.js + const customerRoutes = require('./api/routes/customer'); + + //use to parse body into incoming request + app.use(bodyParser.urlencoded({extended: false})); + app.use(bodyParser.json()); + app.use('/customer', customerRoutes); + + module.exports = app; \ No newline at end of file diff --git a/package.json b/package.json index 4123e1b..fb7055e 100644 --- a/package.json +++ b/package.json @@ -15,5 +15,9 @@ "bugs": { "url": "https://github.com/pcIST/API_Development/issues" }, - "homepage": "https://github.com/pcIST/API_Development#readme" + "homepage": "https://github.com/pcIST/API_Development#readme", + "dependencies": { + "body-parser": "^1.18.3", + "express": "^4.16.3" + } } diff --git a/server.js b/server.js new file mode 100644 index 0000000..74c6052 --- /dev/null +++ b/server.js @@ -0,0 +1,8 @@ +// importing http package + const http = require('http'); + + //included app.js file in this server + const app = require('./app'); + const server = http.createServer(app).listen(3000); + + console.log('Server is Running having port ' +server.address().port); \ No newline at end of file From 3575969c07b3e2d76793646ce817a530d827dedc Mon Sep 17 00:00:00 2001 From: Aktaruzzaman Rakib Date: Tue, 14 Aug 2018 15:16:10 +0600 Subject: [PATCH 4/6] userDetails Array Declare --- api/routes/customer.js | 14 +++++++++----- server.js | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/api/routes/customer.js b/api/routes/customer.js index db47ff7..a26392c 100644 --- a/api/routes/customer.js +++ b/api/routes/customer.js @@ -1,6 +1,8 @@ const express = require('express'); const router = express.Router(); + //array declare to store all userDetails + const userDetailsList=[]; router.get('/',(req, res, next) =>{ res.status(200).json({ @@ -8,17 +10,19 @@ }); }); - router.post('/',(req, res, next) =>{ - - const userDetails ={ + router.post('/',(req, res, next) =>{ + var userDetails ={ userId: req.body.userId, userName: req.body.userName } - console.log(userDetails.size); + //add individual user userDetailsList array + userDetailsList.push(userDetails); + console.log(userDetails); + console.log(userDetailsList); res.status(201).json({ message: 'Handlaing Post request to /userDetails', - orderDetails: userDetails + userDetails: userDetails }); }); diff --git a/server.js b/server.js index 74c6052..6356811 100644 --- a/server.js +++ b/server.js @@ -1,4 +1,4 @@ -// importing http package + // importing http package const http = require('http'); //included app.js file in this server From 566529ebf343ed21b363480c9f74d8a1df344e31 Mon Sep 17 00:00:00 2001 From: Aktaruzzaman Rakib Date: Tue, 14 Aug 2018 16:44:53 +0600 Subject: [PATCH 5/6] retrieve match user only --- api/routes/customer.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/api/routes/customer.js b/api/routes/customer.js index a26392c..a5c0bbb 100644 --- a/api/routes/customer.js +++ b/api/routes/customer.js @@ -10,7 +10,8 @@ }); }); - router.post('/',(req, res, next) =>{ + router.post('/',(req, res, next) =>{ + var userDetails ={ userId: req.body.userId, userName: req.body.userName @@ -26,5 +27,22 @@ }); }); + //retrieve the match user .. + router.get('/:userId', (req, res, next) =>{ + var user = {}; + for( var i = 0; i < userDetailsList.length; i++){ + if(req.params.userId == userDetailsList[i].userId){ + user = userDetailsList[i]; + break; + } + } + + res.status(200).json({ + message: 'userDetails', + userDetail: user + }); + }); + + module.exports = router; \ No newline at end of file From 547320337774eb88f5e865e419b6f36d35e5c724 Mon Sep 17 00:00:00 2001 From: Aktaruzzaman Rakib Date: Tue, 14 Aug 2018 17:53:50 +0600 Subject: [PATCH 6/6] crud operation --- api/routes/customer.js | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/api/routes/customer.js b/api/routes/customer.js index a5c0bbb..f4fd2ed 100644 --- a/api/routes/customer.js +++ b/api/routes/customer.js @@ -3,19 +3,13 @@ const router = express.Router(); //array declare to store all userDetails const userDetailsList=[]; - - router.get('/',(req, res, next) =>{ - res.status(200).json({ - message: 'Handlaing get request to /Customer' - }); - }); - - router.post('/',(req, res, next) =>{ - - var userDetails ={ + + router.post('/registration',(req, res, next) =>{ + var userDetails ={ userId: req.body.userId, userName: req.body.userName } + //add individual user userDetailsList array userDetailsList.push(userDetails); console.log(userDetails); @@ -26,9 +20,16 @@ userDetails: userDetails }); }); + + //get all register user + router.get('/getUsersList', (req, res, next) => { + res.status(201).json({ + usersList: userDetailsList + }); + }); //retrieve the match user .. - router.get('/:userId', (req, res, next) =>{ + router.get('/getUser/:userId', (req, res, next) =>{ var user = {}; for( var i = 0; i < userDetailsList.length; i++){ if(req.params.userId == userDetailsList[i].userId){ @@ -43,6 +44,20 @@ }); }); + //delete the match user from userDetailsList + router.delete('/deleteUser/:userId', (req, res, next)=>{ + for( var i = 0; i < userDetailsList.length; i++){ + if(req.params.userId == userDetailsList[i].userId){ + userDetailsList.splice(i,1); + break; + } + } + res.status(201).json({ + message: 'following id is deleted', + id: req.params.userId + }); + + }); module.exports = router; \ No newline at end of file