Node.js is a runtime environment that allows you to run JavaScript code on the server-side. It provides an event-driven, non-blocking I/O model that makes it lightweight and efficient for building scalable network applications.
Express is a web application framework for Node.js that provides a set of features for building web applications and APIs. It simplifies the process of handling HTTP requests, routing, middleware, and more.
Creating RESTful APIs with Node.js and Express involves defining routes and handlers for different HTTP methods (GET, POST, PUT, DELETE) and URLs. Here’s a step-by-step guide on how to create RESTful APIs using Node.js and Express:
1. Set up a new Node.js project by creating a new directory and running `npm init` to initialize a new `package.json` file.
2. Install Express by running `npm install express`.
3. Create a new JavaScript file (e.g., `app.js`) and require the Express module:
“`javascript
const express = require(‘express’);
const app = express();
“`
4. Define routes and handlers for different HTTP methods and URLs using the `app` object:
“`javascript
app.get(‘/api/users’, (req, res) => {
// Handle GET request for /api/users
res.json({ message: ‘GET /api/users’ });
});
app.post(‘/api/users’, (req, res) => {
// Handle POST request for /api/users
res.json({ message: ‘POST /api/users’ });
});
app.put(‘/api/users/:id’, (req, res) => {
// Handle PUT request for /api/users/:id
const userId = req.params.id;
res.json({ message: `PUT /api/users/${userId}` });
});
app.delete(‘/api/users/:id’, (req, res) => {
// Handle DELETE request for /api/users/:id
const userId = req.params.id;
res.json({ message: `DELETE /api/users/${userId}` });
});
“`
5. Start the server by calling the `listen` method on the `app` object:
“`javascript
app.listen(3000, () => {
console.log(‘Server started on port 3000’);
});
“`
6. Run the application by executing `node app.js` in the terminal.
Now you have a basic RESTful API server running on `http://localhost:3000`. You can test the API using tools like cURL or Postman.
This is just a simple example to get you started. In a real-world application, you would typically connect to a database, handle authentication and authorization, and implement more complex business logic in your API handlers.