Building a Python API and Fetching it in React: A Step-by-Step Guide

How to create an API in Python using the Flask library and fetch it from a React application using Axios.

Published on

APIs, or application programming interfaces, are a common way for different software systems to communicate with each other. In this article, we will learn how to create an API in Python and fetch it from a React application.

Prerequisites:

To follow along with this tutorial, you should have a basic understanding of Python and React, as well as a working development environment with Python and Node.js installed. You will also need to install the Flask and Axios libraries.

Creating the API in Python:

We will be using the Flask library to create our API in Python. Flask is a lightweight web framework that makes it easy to create web applications in Python.

To start, create a new Python file and import the Flask library. Then, create an instance of the Flask class and assign it to a variable called app.

from flask import Flask

app = Flask(__name__)

Next, we will define a function called hello that will be our API endpoint. This function will return a simple message when it is called.

@app.route('/hello')
def hello():
    return 'Hello, World!'

Finally, we will start the server by calling the run method on our app object.

if __name__ == '__main__':
    app.run()

Now, if we run our Python script, we will have an API running at http://localhost:5000/hello that returns the message "Hello, World!".

Fetching the API from React:

Now that we have our API running, we can fetch it from a React application using the Axios library. Axios is a popular library for making HTTP requests from JavaScript.

To start, create a new React project using the create-react-app tool. Then, install Axios by running npm install axios.

Next, open the App.js file and import the Axios library. Then, add a function called fetchAPI that makes an HTTP GET request to our API using Axios.

import axios from 'axios';

function fetchAPI() {
  axios.get('http://localhost:5000/hello')
    .then(response => console.log(response.data))
}

Finally, we can call the fetchAPI function when the component mounts by adding it to the componentDidMount lifecycle method.

class App extends React.Component {
  componentDidMount() {
    fetchAPI();
  }

  render() {
    return (
      // render code here
    );
  }
}

Now, when the React application is loaded, it will make an HTTP GET request to our API and log the response to the console.

Conclusion:

In this tutorial, we learned how to create an API in Python using the Flask library and fetch it from a React application using Axios. This is just a basic example, but the same principles can be applied to create more complex APIs and applications.

Enjoyed this article?

Share it with your network to help others discover it

Notify: Just send the damn email. All with one API call.

Continue Learning

Discover more articles on similar topics