A simple guide to creating REST API’s with flask

Photo by Rachael Gorjestani on Unsplash

About a week back I had asked some of my juniors to build a flask app. The result was a mixture of classes and  Resource implementation of flask_restful library. When asked why they made it so complex, he showed me the google search results for – how to build REST API’s using flask. Almost all the tutorials out there are either too in-depth or too difficult for beginners.This post is a beginner friendly tutorial on how to build flask API’s.

Before we start – a few jargon.
Flask: is a Python-based microframework that enables you to build web applications. The “micro” in microframework means Flask aims to keep the core simple but extensible.

REST: a RESTful API uses HTTP requests to GET, PUT, POST and DELETE data.

RESTful API designing: guidelines is a must read before you continue. It talks about terminologies, endpoints, versioning status codes and so much more.

Routing

Let’s take this program snippet for example –

Using @app.route you define which function will run when a particular endpoint(URL) is called. Inside the route decorator you can define the API endpoint, the methods that will activate the function below it.

URL patterns

In the above example, the <username> can be anything. A variable, that is used as a parameter for the function below the decorator. This is one of the ways using which you can pass variables from your front-end to your backend.

GET request

The following snippet creates an API to recieve 2 numbers and return their sum.

Using URL parameters: eg – http://127.0.0.1:5000/?num1=2&num2=40

The same task using form data

And the same using json data

You can use the above examples with different types of request types by changing the method’s parameter.

Handling GET and POST request in the same function

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

About Me

About Me

Hey, I am Thomas Ashish Cherian. What I cannot create, I do not understand.

Social Profiles