Learn how to set up a basic Application Programming Interface to make your data more accessible to users. This lesson also discusses principles of API design and the benefits of APIs for digital projects. FastAPI was released in 2018, and it was created by Sebastián python api design Ramírez. Ramírez was unhappy with existing frameworks like Flask and DRF, so he created his own framework using tools like Starlette and Pydantic. Now, many big tech companies like Uber, Netflix, and Microsoft are using FastAPI to build their apps.
- Flask is a web framework for Python, meaning that it provides functionality for building web applications, including managing HTTP requests and rendering templates.
- # Create some test data for our catalog in the form of a list of dictionaries.
- This is especially true when you pair a REST API with a front-end framework like React or Vue.
- This response only includes the status code 204 No Content.
- Open the prog_lang_app.py file and edit the in_memory_datastore to add the additional entries.
To learn about proper use of databases with Flask once again I recommend that you read my Mega-Tutorial. Central to the concept of RESTful web services is the notion of resources. The clients send requests to these URIs using the methods defined by the HTTP protocol, and possibly as a result of that the state of the affected resource changes. In this article, we learned about the basic components needed to develop a well-structured Flask application. We looked at how to use pipenv to manage the dependencies of our API. After that, we installed and used Flask and Marshmallow to create endpoints capable of receiving and sending JSON responses.
Understanding Our Updated API
As an alternative to the above installation instructions, you can install the Python 3 version of Anaconda, which can be downloaded here. Anaconda comes with Flask, so if you go this route you will not need to install Flask using the pip package manager. If the output for these commands includes a version number, Python is installed and available from the command line and you can proceed to the next step.
If you are practicing design-first APIs, you can create mock servers before you write any code. For design-first organizations, these machine-readable descriptions serve as a source of truth for what’s possible with an API. This will look for a POST to /companies with company data in the body of the request. Rather than handling the data , we return success and include a 201 status code. In the GET example a status code wasn’t required because 200 is Flask’s default.
🔗 Falcon Keeps You Resource-Focused
The post() and get() methods are both located in the same ShoppingCart view class. This is because they affect more than one shopping cart item. In the case of PUT, if the given resource context does not exist, it will create one. To perform a PATCH request, the resource must already exist.