How to Send a Raw Data Body to an Axios Request in React Native?

Every full-stack developer is required to interface with REST APIs at a point. Axios is considered the most common way for developers to do the same. It communicates with different servers through HTTP protocol. Axios is the most popular JavaScript library which makes HTTP requests. It supports promise-based API and can benefit from acquiring more readable asynchronous code using async. 

If you are new to the topic, here is a prior tutorial on React Native. In this article, we will see how we can send raw data to Axios post requests. 

Why Axios?

Many developers prefer Axios over fetch for its ease to use. Axios is the most popular js library due to its key features. Key features for Axios are as follows:

  • Axios can be easily installed as it is a stand-alone third-party package.
  • Axios supports built-in Cross-site Request Forgery(CSRF) protection .
  • Axios data contains objects.
  • Axios automatically transforms JSON data.
  • Axios supports request timeout and canceling requests.
  • Axios has the ability to intercept HTTP requests which helps in getting access to request headers and bodies, response headers, cancel, and redirect requests and modify request and response headers.
  • Axios also has built-in support for download or upload progress.
  • Axios supports old browsers too.

Use of Axios in Reactjs vs ReactNative 

ReactJS is an open-source Javascript library that is used to build a framework for web applications. Axio in ReactJs is a library that creates HTTP requests which are included externally. This helps in retrieving the data whenever needed. 

ReactNative is a Javascript framework that is used for developing mobile applications. With the method of Promise API with Axios, multiple concurrent API requests from the ReactNative application can be made. 

Use of Axios in React vs WordPress

WordPress is developed in PHP, which is considered to be outdated by many developers. This is an example of a custom REST API endpoint. Therefore, any PHP returned with a REST API is converted to JSON. With the use of Axios, you can take the advantage of async which also intercepts and cancels requests.

Installation

Start with adding Axios to your project. We can install Axios with Node Package Manager using following command:

$ npm install axios --save

Making Requests

import axios from ‘axios’;

POST Request Process

The HTTP post request is made using axios.post(). Let’s take an example of a login form where we need to send email and password as data to the server. Here email and password need to be sent as raw data to the server.

Axios post request params is an object of key/value pairs which we will send as data to post requests. As we need to send raw data, the object is wrapped in the JSON.stringify() method. The JSON.stringify() converts a JavaScript object or value to a JSON string.

const params = JSON.stringify({

"email": email,

"password": password,

});

Now we will use axios.post() method to make a post request. Here we will send three parameters. First we’re passing the url of the service endpoint. Second we’re passing object params which we created above and lastly we will pass headers to the post request. To pass raw data body content-type should be application/json.

axios.post(url, params,{

"headers": {

"content-type": "application/json",

},

})

 

Also Read: 5 Most Common React Native Issues That Starters Face

Hire React Native Developers from Mindbowser to Build Cross-platform Mobile App Solution.

Handling Response

Once the post request is made, Axios returns a promise which is either success or failure depending on the response of the backend. To handle this response we will use the then() method.

axios.post(url, params,{

"headers": {

"content-type": "application/json",

},

})
.then(function(response) {

console.log(response);

})

.catch(function(error) {

console.log(error);

});

};
coma

Conclusion

Using Axios in React Native is the most popular way to interface with REST API, but many developers face problems while sending raw data body with the post request. In this article, we took a good look at this issue. Here we saw how to send raw data body in Axios post request in React Native. I hope this article helps you to understand how to send raw data body to an Axios post request to React Native. Get in touch with us if you want to hire react native developers.

Keep Reading

Keep Reading

Mindbowser is excited to meet healthcare industry leaders and experts from across the globe. Join us from Feb 25th to 28th, 2024, at ViVE 2024 Los Angeles.

Learn More

Let's create something together!