FastAPI es un framework web estupendo para la creación de APIs con Python; nos ofrece múltiple características con las cuales es posible la creación de APIs modulares, bien estructuradas, escalables y con muchas opciones como validaciones, formatos, tipados entre otros.
Al instalar FastAPI, se instalan dos módulos muy importantes:
Pydantic que permite la creación de modelos para la validación de datos.
Starlette, que es un tooltip ASGI liviano, utilizado para crear servicios web asíncronos (o síncronos) en Python.
Con estos paquetes, tenemos lo básico para crear APIs, pero, podemos extender fácilmente un proyecto en FastAPI con otros módulos para dotar a la aplicación de más características, como lo son la base de datos, motores de plantillas entre otros.
FastAPI es un framework fácil de aprender e iniciar y de alto rendimiento; es ideal para crear toda clase de sitios que no solamente consisten en APIs, si no, podemos instalar un manejador de plantillas para devolver páginas web completas.
Este curso es mayoritariamente práctico, iremos conociendo los fundamentos de FastAPI, conociendo sus características principales en base a una pequeña aplicación que iremos extendiendo capitulo tras capitulo y cuyo contenido puedes ver a continuación:
Sección 1: En este capítulo vamos a presentar el software necesario para crear proyectos en FastAPI, qué pasa desde Python, hasta preparar el entorno.
Sección 2: Presentamos algunos comandos imprescindibles para desarrollar en FastApi, prepararemos el entorno y daremos una introducción al framework.
Sección 3: Uno de los factores primordiales en FastApi, es la creación de recursos para la API mediante funciones, en este apartado trataremos las bases de esto introduciendo el ruteo entre múltiples archivos así como las distintas opciones para los argumentos y parámetros de estas rutas.
Sección 4: En este apartado aprender a manejar los códigos de estado en HTTP de los métodos de la API y también controlar los errores/excepciones desde los métodos de la API.
Sección 5: En este apartado veremos cómo crear datos de ejemplos para utilizar desde la documentación automática que ofrece FastAPI para cada uno de los métodos de la API.
Sección 6: En este capítulo veremos cómo implementar la carga de archivos, conociendo las diferentes variantes existentes en FastAPI.
Sección 7: En este capítulo veremos cómo conectar una aplicación en FastAPI a una base de datos relacional como lo es MySQL.
Sección 8: En este capítulo veremos instalar y emplear un motor de plantillas en Python, específicamente el de Jinja con el cual podremos devolver respuestas en formato HTML.
Sección 9: En este capítulo aprenderemos cómo usar las dependencias.
Sección 10: En este capítulo veremos cómo usar los middlewares para interceptar peticiones a los métodos de la API y ejecutar algún procedimiento antes del request o después de generar la respuesta.
Sección 11: En este capítulo veremos cómo crear un módulo de usuario, para registrar usuarios, realizar el login, generar tokens de acceso y hacer el logout.