Question
Create a simple Node.js server (Save as w4_firstname_lastname.js) . Create a restful application similar to the one in lesson 4 (ReSTFul Web Services). *Document the
Create a simple Node.js server (Save as w4_firstname_lastname.js) . Create a restful application similar to the one in lesson 4 (ReSTFul Web Services).
*Document the routing table, and the application you created*.
You will need: some data (either in a json file, or in the actual js file).
You will need several functions to work on the data: list all, list one.. Make sure as always that if you are querying something, it is there before accessing it..
Here is the example from lesson 4:
Routing Table
Sr. No. | HTTP Method | URI | Operation | CRUD |
1 | GET | /UserService/users | Get list of users | Read |
2 | GET | /UserService/users/1 | Get User with Id 1 | Read |
3 | PUT | /UserService/users/2 | Insert User with Id 2 | Update |
4 | POST | /UserService/users/2 | Update User with Id 2 | Create |
5 | DELETE | /UserService/users/1 | Delete User with Id 1 | Delete |
With ExpressJS, you can easily create a ReStful web services.
Here is an example how to create a routing table similar to the one above
/*
// This application to demo the use of restfull services
// This is the core for any MV* pattern
// let me know if you have any question
// use express server, it must be in the node_modules
save this code as wk4_myserver.js in c:\ENTD261
to run this code, make sure you are on c:\entd261 if not change directory to c:\entd261
>cd c:\entd261
C:\ENTD261>node wk4_myserver.js
once the server is running, you will get
Express server listening on port 55555
from any browser
http://localhost:55555/
*/
// setup
var express=require("express");
var http=require("http");
var app=express();
// run the server
http.createServer(app).listen(55555);
console.log('Express server listening on port 55555');
// <<< here is the Model, the data storage
var products = [
{ id: 0, name: 'watch', description: 'Tell time with this amazing watch', price: 30.00 },
{ id: 1, name: 'sandals', description: 'Walk in comfort with these sandals', price: 10.00 },
{ id: 2, name: 'sunglasses', description: 'Protect your eyes in style', price: 25.00 }
];
// http://localhost:55555 // general route
// here is the refer
app.get("/", function(req,res){
var msg=""
msg += "
This is the default page
msg += " use the following
"
msg += " http://localhost:55555/hello
"
msg += " http://localhost:55555/goodbye
"
msg += " http://localhost:55555/products
"
msg += " http://localhost:55555/products/2
"
res.send(msg);
});
// <<< routes = controller
// http://localhost:55555/hello // welcome route
app.get("/hello", function(req,res){
res.send("Hello ENTD261 class");
});
// http://localhost:55555/goodbye // good bye route
app.get("/goodbye", function(req,res){
res.send("Thank you ENTD261 class");
});
// http://localhost:55555/products // load and display all products
app.get('/products', function(req, res) {
res.send(JSON.stringify(products));
});
// http://localhost:55555/products/2 // load and display product id 2
app.get('/products/:id', function(req, res) {
if (req.params.id > (products.length - 1) || req.params.id < 0) {
res.statusCode = 404;
res.end('Not Found');
}
res.send(JSON.stringify(products[req.params.id]));
});
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started