This class inherits from another superclass called Schema that belongs on a package not yet installed. Flask provides great documentation on what exactly this does. In this script, we will define the first endpoint of our application. Lock contains precisely what version of each package our project depends on and its transitive dependencies. If this command produces the correct output, we must replace all commands throughout the article to use python3 instead of just python. If we are using some recent version of a popular Linux distribution or macOS, we might already have Python 3 installed on our computer.

The get_password function is a callback function that the extension will use to obtain the password for a given user. In a more complex system this function could check a user database, but in this case we just have a single user so there is no need for that. We apply this technique to all the other functions and with this we ensure that the client always sees URIs instead of ids. The response of this function is not text, we are now replying with JSON data, which Flask’s jsonify function generates for us from our data structure.


First and foremost, we will need to install some dependencies on our development machine. FastAPI is growing at high speed, with 48k stars on Github, 370 contributors, and more than 3.9k forks. This elegant framework built for high-performance and fast-to-code APIs is not one to miss. DevOpsChangelogWhat python api design Full Stack MeansAbout the AuthorFuture DirectionsPage Statuses…or view the full table of contents. Figure out other use cases and expand based on what you learned with the initial API use case. For Django I recommend Django REST framework and for Flask I recommend Flask-RESTful.

python api desig

REST Hooks is an open source Python project that makes it easier to implement subscription-based “REST hooks”. These REST hooks are similar to webhooks, but provide a different mechanism for subscribing to updates via a REST interface. Both REST hooks and webhooks are far more efficient than polling for updates and notifications. These two Stack Overflow questions and answers onIs it better to place a REST API on a subdomain or in a subfolder? Andsubdomain vs. subdirectory in web programmingprovide reasons and opinions on the debate around using a subdomain, for example versus /api/. There is also a nice summary of endpoint configurations inthis article from ProgrammableWeb.

Understanding Our Updated API

You send the recipe over HTTP with a pre-agreed format with the backend. A pre-agreed format can be understood as a language used to communicate with the waiter/waitress in our previous metaphor. In real life, we have different languages, such as English, German, Chinese, and so on. We need to speak the right language for the other side to understand. In the web API domain, there are two prevalent standards, JSON and XML. We will mainly talk about JSON here because it is more readable and widely adopted. Modeling our web applications this way can help us easily construct a functioning web system, as these actions are related to the HTTP methods.

python api desig