Book Image

Python API Development Fundamentals

By : Jack Chan, Ray Chung, Jack Huang
Book Image

Python API Development Fundamentals

By: Jack Chan, Ray Chung, Jack Huang

Overview of this book

Python is a flexible language that can be used for much more than just script development. By knowing the Python RESTful APIs work, you can build a powerful backend for web applications and mobile applications using Python. You'll take your first steps by building a simple API and learning how the frontend web interface can communicate with the backend. You'll also learn how to serialize and deserialize objects using the marshmallow library. Then, you'll learn how to authenticate and authorize users using Flask-JWT. You'll also learn how to enhance your APIs by adding useful features, such as email, image upload, searching, and pagination. You'll wrap up the whole book by deploying your APIs to the cloud. By the end of this book, you'll have the confidence and skill to leverage the power of RESTful APIs and Python to build efficient web applications.
Table of Contents (12 chapters)

Designing the Methods in the Recipe Model

Now, we have finished the user registration and login feature, we will work on the recipe management features of our Smilecook application. That will need a few methods in the Recipe class to do the work. In our design, we will have the following five methods:

  • data: This is used to return the data in a dictionary format.
  • get_all_published: This method gets all the published recipes.
  • get_by_id: This method gets the recipes by ID.
  • save: This method persists data to the database.
  • delete: This method deletes data from the database.

These five methods cover pretty much all the necessary recipe management functions. In the next exercise, we will work on implementing these methods in our Smilecook application.

Exercise 27: Implementing Access-Controlled Recipe Management Functions

The aim of this exercise is to implement different recipe management functions on our platform so that users can manage their own recipes...