Using Axios in Node.js: A Guide to Sending HTTP Requests

Sandeep Singh
3 min readApr 22, 2023

--

Axios is a popular JavaScript library that is widely used to make HTTP requests in web applications. It is a simple and easy-to-use library that can be used in both client-side and server-side applications. In this blog, we will explore how to use Axios in Node.js to send GET, POST, PUT, and DELETE requests.

Installing Axios

Before we start using Axios, we need to install it in our Node.js application. We can do this by running the following command in our terminal:

npm install axios

This will install Axios in our application and make it available for use.

Sending GET Requests

To send a GET request using Axios, we need to use the axios.get() method. The method takes a URL as its parameter and returns a Promise that resolves with the response data. Here's an example:

const axios = require('axios');

axios.get('https://jsonplaceholder.typicode.com/posts')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});

In this example, we are sending a GET request to the JSONPlaceholder API to retrieve a list of posts. We are then logging the response data to the console.

Sending POST Requests

To send a POST request using Axios, we need to use the axios.post() method. The method takes two parameters: the URL and the data to be sent. The data can be a JSON object, a string, or a buffer. Here's an example:

const axios = require('axios');

const data = {
title: 'foo',
body: 'bar',
userId: 1
};

axios.post('https://jsonplaceholder.typicode.com/posts', data)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});

In this example, we are sending a POST request to the JSONPlaceholder API to create a new post. We are then logging the response data to the console.

Sending PUT Requests

To send a PUT request using Axios, we need to use the axios.put() method. The method takes two parameters: the URL and the data to be sent. The data can be a JSON object, a string, or a buffer. Here's an example:

const axios = require('axios');

const data = {
title: 'foo',
body: 'bar',
userId: 1
};

axios.put('https://jsonplaceholder.typicode.com/posts/1', data)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});

In this example, we are sending a PUT request to the JSONPlaceholder API to update an existing post with the ID of 1. We are then logging the response data to the console.

Sending DELETE Requests

To send a DELETE request using Axios, we need to use the axios.delete() method. The method takes a URL as its parameter. Here's an example:

const axios = require('axios');

axios.delete('https://jsonplaceholder.typicode.com/posts/1')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});

In this example, we are sending a DELETE request to the JSONPlaceholder API to delete an existing post with the ID of 1. We are then logging the response data to the console.

Conclusion

Axios is a simple and easy-to-use library that makes it easy to send HTTP requests in Node.js applications. By using the axios.get(), axios.post(), axios.put(), and axios.delete() methods, we can easily send HTTP requests to retrieve, create, update, and delete data from APIs.

In addition to the basic functionality, Axios also provides several other features such as request and response interceptors, automatic transforms for JSON and form data, and support for canceling requests. These features can make our code more efficient and help us handle errors more effectively.

Overall, Axios is a powerful and flexible library that can be used to build robust Node.js applications. With its simple API and extensive documentation, it is an excellent choice for developers who need to make HTTP requests in their applications.

--

--