REST design principles help make web services simple, clear, and easy to use. They guide how to organize and communicate data over the internet.
0
0
Why REST design principles matter in Node.js
Introduction
Building a web API that many different apps or devices will use
Creating a service that needs to be easy to understand and maintain
Designing a system where clients and servers communicate over HTTP
Making sure your service works well with web browsers and mobile apps
Wanting to follow common standards so other developers can easily work with your API
Syntax
Node.js
GET /items - Retrieve a list of items
POST /items - Create a new item
GET /items/{id} - Retrieve a specific item
PUT /items/{id} - Update a specific item
DELETE /items/{id} - Delete a specific itemUse HTTP methods (GET, POST, PUT, DELETE) to represent actions.
Use clear and consistent URLs to represent resources.
Examples
This example shows how to manage a collection of books using REST methods.
Node.js
GET /books POST /books GET /books/123 PUT /books/123 DELETE /books/123
This example manages user data with RESTful URLs and methods.
Node.js
GET /users POST /users GET /users/45 PUT /users/45 DELETE /users/45
Sample Program
This Node.js example uses Express to create a simple REST API for managing items. It shows how to use REST methods to get, add, update, and delete items.
Node.js
import express from 'express'; const app = express(); app.use(express.json()); const items = [{ id: 1, name: 'Apple' }, { id: 2, name: 'Banana' }]; app.get('/items', (req, res) => { res.json(items); }); app.post('/items', (req, res) => { const newItem = { id: items.length + 1, name: req.body.name }; items.push(newItem); res.status(201).json(newItem); }); app.get('/items/:id', (req, res) => { const item = items.find(i => i.id === Number(req.params.id)); if (item) { res.json(item); } else { res.status(404).send('Item not found'); } }); app.put('/items/:id', (req, res) => { const item = items.find(i => i.id === Number(req.params.id)); if (item) { item.name = req.body.name; res.json(item); } else { res.status(404).send('Item not found'); } }); app.delete('/items/:id', (req, res) => { const index = items.findIndex(i => i.id === Number(req.params.id)); if (index !== -1) { items.splice(index, 1); res.status(204).send(); } else { res.status(404).send('Item not found'); } }); app.listen(3000, () => { console.log('Server running on http://localhost:3000'); });
OutputSuccess
Important Notes
Following REST principles makes your API predictable and easier to use.
Use proper HTTP status codes to communicate success or errors clearly.
Keep URLs simple and resource-focused for better understanding.
Summary
REST principles help organize web services clearly and simply.
They use HTTP methods and URLs to represent actions and resources.
Following these principles makes APIs easier to use and maintain.