FastAPI is a great web framework for creating web APIs with Python; It offers us multiple features with which it is possible to create modular, well-structured, scalable APIs with many options such as validations, formats, typing, among others.
FastAPI is a high-performance, easy-to-learn, start-up framework; It is ideal for creating all kinds of sites that not only consist of APIs, but we can install a template manager to return complete web pages.
Foreword
FastAPI is a great web framework for creating web APIs with Python; It offers us multiple features with which it is possible to create modular, well-structured, scalable APIs with many options such as validations, formats, typing, among others.
When you install FastAPI, two very important modules are installed:
- Pydantic that allows the creation of models for data validation.
- Starlette, which is a lightweight ASGI tooltip, used to create asynchronous (or synchronous) web services in Python.
With these packages, we have the basics to create APIs, but we can easily extend a FastAPI project with other modules to provide the application with more features, such as the database, template engines, among others.
FastAPI is a high-performance, easy-to-learn, start-up framework; It is ideal for creating all kinds of sites that not only consist of APIs, but we can install a template manager to return complete web pages.
This book is mostly practical, we will learn the basics of FastAPI, knowing its main features based on a small application that we will expand chapter after chapter.
Who is this book for
This book is aimed at anyone who wants to learn how to develop their first APIs in FastApi.
For those people who know how to program in Python or other web frameworks.
For those people who want to learn something new.
For people who want to improve a skill and who want to grow as a developer and who want to continue scaling their path in application development with Python.
Topics of the book
This book is mostly practical, we will learn the basics of FastAPI, knowing its main features based on a small application that we will extend chapter after chapter and whose content you can see below:
- Chapter 1: We present some essential commands to develop in FastApi , we will prepare the environment and we will give an introduction to the framework .
- Chapter 2: One of the main factors in FastApi is the creation of resources for the API through functions, in this section we will deal with the basics of this, introducing routing between multiple files as well as the different options for the arguments and parameters of these routes.
- Chapter 3: In this section, learn how to handle HTTP status codes from API methods and also handle errors/exceptions from API methods.
- Chapter 4: In this section we will see how to create sample data to use from the automatic documentation that FastAPI offers for each of the API methods.
- Chapter 5: In this chapter we will see how to implement the upload of files, knowing the different existing variants in FastAPI.
- Chapter 6: In this chapter we will see how to connect a FastAPI application to a relational database such as MySQL.
- Chapter 7: In this chapter we will see installing and using a template engine in Python, specifically Jinja, with which we can return responses in HTML format.
- Chapter 8: In this chapter we will see installing and using a template engine in Python, specifically Jinja, with which we can return responses in HTML format.
- Chapter 9: In this chapter we will learn how to use dependencies.
- Chapter 10: In this chapter we will see how to use middleware to intercept requests to API methods and execute some procedure before the request or after generating the response.
- Chapter 11: In this chapter we will see how to create a user module, to register users, login, generate access tokens and logout.
- Chapter 12: In this chapter we will see how to implement unit tests.
When you install FastAPI, two very important modules are installed:
- Pydantic that allows the creation of models for data validation.
- Starlette, which is a lightweight ASGI tooltip, used to create asynchronous (or synchronous) web services in Python.
The book is currently in development...
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter