1.Setting Up the Project:
To get started, create a new directory for your project and navigate into it using the terminal. Then, initialize a new Node.js project by running the following command:
npm init -y
This will create a package.json file in your project directory, which is used to manage your project's dependencies and scripts.
Next, install the express package by running the following command:
npm install express
This will install express and its dependencies in your project.
2.Creating a Simple Server:
Create a new file called server.js in your project directory, and add the following code:
const express = require('express');
const app = express();
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
This code imports the express package and creates a new instance of the express application. We then call the app.listen() method to start the server and listen for incoming requests on port 3000.
3.Creating Routes:
To create a route, we need to define an HTTP method and a URL path, and associate it with a callback function that will handle the request. In express, we can use the app.get(), app.post(), app.put(), and app.delete() methods to define routes for different HTTP methods.
For example, let's create a route that responds to GET requests to the root URL ('/'):
app.get('/', (req, res) => {
res.send('Hello, world!');
});
This code defines a route for GET requests to the root URL ('/'), and sends a response with the text 'Hello, world!'.
4.Parsing Request Bodies:
To parse request bodies, we can use the body-parser package. First, install the package by running the following command:
npm install body-parser
Then, import it in your server.js file and use it as middleware:
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
This code tells express to use the body-parser middleware to parse request bodies encoded in URL-encoded form or JSON format.
5.Creating Routes that Handle Data:
Let's create another route that responds to POST requests to the /items URL, and expects a JSON-encoded request body with an id and a name property. We'll store the items in an array for now:
let items = [];
app.post('/items', (req, res) => {
const { id, name } = req.body;
items.push({ id, name });
res.status(201).json({ message: 'Item created', item: { id, name } });
});
This code defines a route for POST requests to the /items URL, and uses destructuring to extract the id and name properties from the request body. We then push the new item to the items array and send a response with a JSON-encoded message and the new item.
6.Testing the API:
To test your API, start the server by running the following command in your project directory:
node server.js
Then, use a tool like curl or Postman to send requests to your API and verify that it works as expected.
Congratulations, you've created a simple API with Node.js! Of course, this is just the beginning - there's a lot more to learn about Node.
Top comments (0)