For help with hosting and deployment join our discord channel.

Beginner's Guide to REST APIs

Published on 11/16/2024
 

What is a REST API?

A REST API (Representational State Transfer Application Programming Interface) is a way for two pieces of software to communicate over the web. It defines a set of rules for how clients (e.g., web browsers, mobile apps) can request resources from a server and how the server responds.
For example:
  • A client requests a user's data from a server.
  • The server sends back the requested data, often in JSON format.
Key Concepts:
  • Resource: Anything that can be accessed via the API (e.g., users, products).
  • Endpoint: A specific URL where a resource can be accessed (e.g., /users).

What are Requests?

When interacting with a REST API, you send requests to its endpoints. These requests include a method, which tells the server what action you want to perform.
Common HTTP Methods:
  • GET: Retrieve data (e.g., get all users).
  • POST: Create new data (e.g., add a user).
  • PUT/PATCH: Update existing data.
  • DELETE: Remove data.
Example:
This retrieves information about the user with ID 123.

How to Call a REST API

You can call a REST API using tools like:
  • Curl: A command-line tool.
  • Postman: A GUI tool for testing APIs.
  • Code: Use libraries in Python or JavaScript to make API calls.
Example with Curl:
Example with Python (using requests library):

How to Build a Basic REST API with Python

Let’s build a simple REST API using Flask, a lightweight web framework.
Step 1: Set Up Python
Before starting, ensure Python is installed on your computer. Python is a popular programming language that’s widely used for web development, data analysis, and more.
How to Install Python:
  • Go to the Python website and download the latest version for your operating system.
  • During installation, ensure you check the box to "Add Python to PATH" (important for running Python commands from the terminal).
If you’re new to Python, check out the official Python tutorial to get a better understanding.
Step 2: Install Pip
Pip is Python's package manager, which helps you install additional libraries like Flask. It usually comes pre-installed with Python. You can check if pip is installed by running:
If not, you can install it by following this guide.
Step 3: Install Flask Once Python and pip are ready, install Flask by running:
Step 2: Create a Basic API Create a file called app.py with the following code:
Step 3: Run Your API Run the file:
Your API will be available at http://127.0.0.1:5000.
Step 4: Test Your API
  • Use a browser or Postman to send a GET request to http://127.0.0.1:5000/users.
  • Use Postman or Curl to send a POST request:

How to Deploy the API as Simply as Possible

We’ll deploy the API using PythonAnywhere, a platform that lets you host Python apps with minimal setup.
Step 1: Sign Up for PythonAnywhere
Step 2: Create a Web App
  1. Log in and click on the "Web" tab.
  1. Select "Add a new web app."
  1. Choose the Flask framework when prompted, and PythonAnywhere will set up a default Flask app for you.
Step 3: Upload Your Code
  1. Navigate to the "Files" tab in the PythonAnywhere dashboard.
  1. Replace the default flask_app.py file with your app.py file containing the REST API code.
Step 4: Reload Your App
  • Go back to the "Web" tab and click "Reload" to activate your changes.
Step 5: Test Your API
  • Visit the provided URL (e.g., yourusername.pythonanywhere.com) in your browser. Your API is now live and ready to handle requests!

Wrapping Up

  • REST APIs allow communication between software using simple HTTP methods.
  • You can build a basic REST API using Python and Flask.
By the end of this tutorial, you’ve learned the basics of REST APIs, built one, and deployed it to the cloud.