Building a REST API with Node.js and Express.js: A Complete Tutorial for CRUD Operations
In this tutorial, we will walk through the process of building a REST API using Node.js and Express.js. We will cover the basics of creating a server with Node.js, setting up routes and handling CRUD operations using Express.js.
Prerequisites
- Basic knowledge of JavaScript
- Node.js installed on your machine
- Understanding of RESTful APIs
Step 1: Setting up a New Node.js Project
First, create a new directory for your project and navigate into it using the terminal. Then, run the following command to initialize a new Node.js project:
$ npm init -y
Step 2: Installing Express.js
Next, install Express.js as a dependency for your project by running the following command in the terminal:
$ npm install express
Step 3: Creating a Server with Node.js and Express.js
Create a new file called server.js
and add the following code to set up a basic server using Node.js and Express.js:
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
Step 4: Setting Up Routes for CRUD Operations
Now that we have a basic server set up, we can define routes for handling CRUD operations. Create a new file called routes.js
and add the following code to define routes for creating, reading, updating, and deleting data:
const express = require('express');
const router = express.Router();
// Create
router.post('/api', (req, res) => {
// Handle creating new data
});
// Read
router.get('/api', (req, res) => {
// Handle retrieving data
});
// Update
router.put('/api/:id', (req, res) => {
// Handle updating data
});
// Delete
router.delete('/api/:id', (req, res) => {
// Handle deleting data
});
module.exports = router;
Step 5: Connecting Routes to the Server
To connect the routes to the server, import the routes.js
file in the server.js
file and use the routes with the server like so:
const express = require('express');
const app = express();
const port = 3000;
// Import routes
const routes = require('./routes');
// Use routes with the server
app.use('/', routes);
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
Step 6: Testing the API
To test the API, use tools like Postman to make requests to the server and verify that CRUD operations are working as expected.
Congratulations! You have successfully built a REST API with Node.js and Express.js for CRUD operations.