Curso Primeros pasos con FastApi

06-07-2023 - Andrés Cruz

Curso Primeros pasos con FastApi

Precio mínimo:

$8.0

Condiciones:

  • Todo el curso de por vida y descarga individual
  • Un único pago para todo el curso
  • Actualizaciones más frecuentes que en Udemy para agregar más y más clases al curso.
  • Contacto por mensajes

Precio mínimo:

$9.9

Hasta el --/--

Condiciones:

  • Todo el curso de por vida
  • Un único pago para todo el curso
  • Actualizaciones frecuentes para agregar más y más clases al curso.
  • Contacto por mensajes

Precio mínimo:

$20.0

Condiciones:

  • Todo el curso de por vida y descarga individual
  • Un único pago para todo el curso
  • Actualizaciones más frecuentes que en Udemy para agregar más y más clases al curso.
  • Contacto por mensajes
  • Descarga de todos los vídeos

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:

  1. 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.
  2. Sección 2: Presentamos algunos comandos imprescindibles para desarrollar en FastApi, prepararemos el entorno y daremos una introducción al framework.
  3. 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.
  4. 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.
  5. 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.
  6. Sección 6: En este capítulo veremos cómo implementar la carga de archivos, conociendo las diferentes variantes existentes en FastAPI.
  7. 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.
  8. 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.
  9. Sección 9: En este capítulo aprenderemos cómo usar las dependencias.
  10. 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.
  11. 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.

Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso:

Introducción a FastApi

  • 1 Introducción

  • 2 Ambiente de desarrollo

  • 3 Verificar el comando de acceso a Python 3 y Pip

    Vamos a hacer unas pruebas para acceder a Python 3.

  • 4 Preparar el entorno

    Vamos a crear el ambiente virtual.

  • 5 Instalar paquetes

    Vamos a instalar el framework web y el servidor web.

  • 6 Comandos básicos

    Vamos a conocer algunos comandos básicos para trabajar en un proyecto en Python en general.

  • 7 Hola Mundo

    Vamos a crear un hola mundo.

  • 8 pciones del comando de uvicorn

    Veremos algunas opciones del comando.

  • 9 Tipos de rutas

    Conoceremos los tipos de rutas.

  • 10 Parámetros en las rutas (path)

    Veremos cómo usar argumentos en las rutas.

Primeros pasos con Python (Reforzamiento)

  • 1 Introducción

  • 2 Consola interactiva/consola de Python

    Vamos a presentar como usar la consola de Python, ideal para hacer pruebas.

  • 3 Archivos de Python

    Vamos a conocer como crear los archivos para programar en Python.

  • 4 Variables y tipo de datos

    Vamos a conocer cómo emplear las variables y sus tipos de datos.

  • 5 Operaciones matemáticas

    Vamos a conocer cómo funcionan las operaciones matemáticas en Python.

  • 6 Concatenación de String

    Vamos a conocer cómo funcionan las concatenaciones de String en Python.

  • 7 Casteos

    Vamos a aprender a realizar casteos o conversión entre distintos tipos.

  • 8 Listas

    Vamos a aprender a trabajar con las listas.

  • 9 Condicionales

    Vamos a conocer el uso de los condicionales.

  • 10 Ciclos

    Vamos a conocer el uso de los ciclos while y for.

  • 11 Funciones

    Daremos los primeros pasos con las funciones en Python

  • 12 Funciones parte 2

    Daremos los primeros pasos con las funciones en Python

  • 13 Diccionarios

    Vamos a conocer el uso de los diccionarios.

  • 14 Clases, Primeros pasos

    Vamos a hablar sobre las clases, su propósito, importancia y características bases.

  • 15 Clases, Primeras clases

    Vamos a crear la primera clase y definir sus atributos y métodos.

  • 16 Clases, Método constructor

    Vamos a conocer como trabajar con los métodos constructores.

  • 17 Clases, Herencia

    Vamos a conocer cómo emplear la herencia de clases.

Ruteo en FastApi

  • 1 Introduccion

  • 2 Primeros pasos

    Veremos cómo trabajar con la clase de APIRouter para las rutas.

  • 3 Ruteo entre múltiples archivos

    Vamos a crear un nuevo archivo para crear rutas y funciones operadoras adicionales.

  • 4 CRUD básico

    Vamos a crear un CRUD básico.

  • 5 Prefijo en las rutas

    Vamos a colocar un prefijo a las rutas de los métodos agrupados para las tareas.

  • 6 Limitar los valores permitidos (Datos predefinidos)

    Vamos a aprender a manejar valores con valores fijos.

  • 7 Definir modelo en un archivo aparte

    Vamos a colocar la clase definida antes en un archivo aparte para garantizar una aplicación modular.

  • 8 Parámetros con Query()

    Vamos a conocer cómo agregar validaciones por cotas en el query string.

  • 9 Path con Path()

    Vamos a conocer cómo agregar validaciones por cotas en e los argumentos del path.

  • 10 Body

    Vamos a aprender a pasar datos mediante el body de la petición.

  • 11 Validación de cuerpos de solicitud utilizando modelos Pydantic

    Vamos a crear una clase para manejar los parámetros de la petición

  • 12 Validaciones en las clases bases modelos

    Vamos a aplicar validaciones sobre la clase modelo.

  • 13 Anidar clases

    Aprenderemos a crear relaciones entre las clases modelos.

  • 14 Herencia

    Veremos que podemos usar las operaciones típicas en la orientación de objetos como lo es la herencia.

  • 15 FastAPI documentación automática

    Vamos a conocer los tipos de documentaciones.

  • 16 Validación por campos

    Vamos a crear validaciones locales al campo en la clase modelo.

  • 17 Tipos de campos

    Vamos a conocer como validar por campos de tipo, email, urls o en pocas palabras, estos datos con una estructura en particular.

  • 18 Valores opcionales y valores por defecto

    Vamos a conocer como trabajar con argumentos opcionales.

  • 19 Usar una lista como argumento

    Vamos a crear una propiedad en la clase de tipo lista.

  • 20 Publicar en Github

Errores y códigos de estados

  • 1 Introduccion

  • 2 Códigos de estado en HTTP

    Vamos a dar un repaso de los códigos de estados.

  • 3 Personalizar el código de estado de la respuesta en los métodos

    Vamos a personalizar el código de estado devuelto en la cabecera de los métodos de la api.

  • 4 Manejo de errores

    Vamos a manejar excepciones desde la aplicación.

  • 5 Publicar en Github

Declarar solicitud de datos de ejemplo

  • 1 introducción

    introducción

  • 2 Datos de ejemplos en modelos

    Vamos a conocer como generar datos de prueba en las clases modelos.

  • 3 Datos de ejemplos desde el argumento, Body

    Vamos a conocer cómo colocar datos de ejemplos en los métodos de la API.

  • 4 Datos de ejemplos en argumentos, primitivas

    Vamos a conocer cómo colocar datos de ejemplos en los métodos de la API.

  • 5 Otros esquemas

Upload de archivos

  • 1 Introduccion

  • 2 Presentación

    Hablaremos como usar el upload de archivos.

  • 3 Crear nuevo archivo de rutas

    Vamos a crear el esquema de rutas para esta sección.

  • 4 Clase File

    Vamos a realizar un ejemplo de la clase File.

  • 5 Clase UploadFile: Bases

    Veremos cómo trabajar con la clase UploadFile.

  • 6 Clase UploadFile: Guardar archivo

    Vamos a aprender a guardar un archivo en una carpeta.

  • 7 Clase UploadFile: Manejar múltiples archivos

    Vamos a aprender a cargar múltiples archivos.

  • 8 Publicar en Github

Base de datos

  • 1 Introducción

  • 2 Presentación

    Vamos a conocer la razón de la importancia de usar una base de datos y del paquete que se va a encargar de realizar la conexión.

  • 3 Instalar dependencias

    Vamos a instalar las dependencias para la base de datos. $ pip install sqlalchemy mysql-connector-python

  • 4 Configurar conexión

    Vamos a crear la conexión a la base de datos. from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker DATABASE_URL = "mysql+mysqlconnector://root:root@localhost:3306/tasks" engine = create_engine(DATABASE_URL) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base()

  • 5 Cambios en los modelos

    Vamos a realizar unos cambios en la clase modelo actual.

  • 6 Crear modelos (tablas) de la base de datos

    Vamos a crear la clase modelo para la base de datos.

  • 7 Crear las tablas en la base de datos

    Vamos a crear las tablas (tabla) en la base de datos.

  • 8 Errores de conexión

    Vamos a ver unos posibles problemas al momento de realizar la conexion a la bd.

  • 9 Errores: Tabla no creada

    Vamos a ver unos posibles problemas en la creación de la tabla, como serían que el modelo no fue importado al igual que una conexión inválida.

  • 10 Utilizar la conexión a la base de datos

    Vamos a crear la conexión para la base de datos.

  • 11 Inyectar dependencia de la sesión de la base de datos en las rutas

    Vamos a probar la conexión a la desde los métodos de la API.

  • 12 Obtener una tarea

    Vamos a mostrar cómo obtener un registro desde la base de datos usando sqlalchemy.

  • 13 Demo: yield vs return

    Vamos a realizar una demostración de sobre el uso del yield y el return.

  • 14 Resumen de conexión de SQLAlchemy y FastAPI

    Vamos a dar un resumen de todo lo realizado en esta sección.

  • 15 Métodos CRUD para las tareas: Detalle

    Vamos a crear la conexión a la base de datos para obtener el detalle de una tarea por la PK.

  • 16 Métodos CRUD para las tareas: Todos

    Vamos a crear la conexión a la base de datos para obtener todas las tareas.

  • 17 Métodos CRUD para las tareas: Crear

    Vamos a crear la conexión a la base de datos para crear una tarea.

  • 18 Métodos CRUD para las tareas: Actualizar

    Vamos a crear la conexión a la base de datos para actualizar una tarea.

  • 19 Métodos CRUD para las tareas: Eliminar

    Vamos a crear la conexión a la base de datos para eliminar una tarea.

  • 20 * Cambio para Pydantic 2v

    * Cambio para Pydantic 2v

  • 21 Métodos CRUD para las tareas: Paginación

    Vamos a crear una paginación de tareas.

  • 22 Relaciones en SQLAlchemy, One to Many, categorías

    Crearemos la primera relación, que es de uno a muchos y veremos cómo relacionar las tareas a las categorías y crear la relación de categorías.

  • 23 Relaciones en SQLAlchemy, One to Many, categorías

    Crearemos la primera relación, que es de uno a muchos y veremos cómo relacionar las tareas a las categorías y crear la relación de categorías.

  • 24 Cambios en el CRUD de tareas (base de datos)

    Vamos a aplicar los cambios relacionales en el CRUD a la base de datos.

  • 25 Obtener la relación desde la entidad principal

    Vamos a obtener las relaciones de usuario y categoría desde la tarea.

  • 26 Relaciones invertidas

    Vamos a obtener la relación de tareas desde las categorías y usuarios.

  • 27 Reto: Relaciones invertidas: Usuario

    Vamos a obtener la relación de tareas desde los usuarios.

  • 28 Cambios en el CRUD de tareas (métodos de la API), Listado

    Adaptamos el método de listado de la rest api para que obtenga las tareas desde la base de datos.

  • 29 Cambios en el CRUD de tareas (métodos de la API), Data de ejemplo

    Moveremos la data de ejemplo para que esté definida en un archivo aparte.

  • 30 Adaptamos el método de crear de la rest api para que crea una tarea en la base de datos.

  • 31 Cambios en el CRUD de tareas (métodos de la API), Actualizar

    Adaptamos el método de actualizar de la rest api para que actualice una tarea en la base de datos.

  • 32 Cambios en el CRUD de tareas (métodos de la API), Detalle

    Crearemos el método de detalle en la rest api.

  • 33 Cambios en el CRUD de tareas (métodos de la API), Eliminar

    Adaptamos el método de eliminar de la rest api para que elimine una tarea en la base de datos.

  • 34 Cambios en el CRUD de tareas (métodos de la API), Verificar que el ID existe

    Crearemos una validación sobre el método de detalle en el crud para verificar si el ID existe.

  • 35 Cambios en el CRUD de tareas (métodos de la API), Retornar tarea en crear y actualizar

    Vamos a colocar en el retorno al crear y actualizar la tarea manejada.

  • 36 Integración de las clases de SQLAlchemy y Pydantic en la respuesta de los métodos de la API

    Integración de las clases de SQLAlchemy y Pydantic en la respuesta de los métodos de la API

  • 37 Modelos de Pydantic de lectura y escritura

    Vamos a conocer como crear modelos en Pydantic personalizados para cada situación.

  • 38 Remover columnas desde las consultas en SQLAlchemy

    Vamos a conocer como podemos remover columnas al momento de la consulta.

  • 39 Relación de tipo Many to Many

    Vamos a conocer las relaciones de tipo muchos a muchos.

  • 40 Relación de tipo Many to Many, Pruebas

    Vamos a realizar pruebas con las relaciones de tipo muchos a muchos.

  • 41 Emplear fechas

    Vamos a conocer como establecer fechas para la creación y actualización de los registros.

  • 42 Extra: Métodos de la API para la relación de muchos a muchos

    Vamos a crear un par de métodos para agregar/remover etiquetas a la tarea.

  • 43 backref en las relaciones de tipo muchos a muchos

    Veremos cómo solucionar una excepción que ocurre al manejar la relación de muchos a muchos.

  • 44 Publicar en Github

Template en FastAPI

  • 1 Introducción

  • 2 Presentación

    Hablaremos sobre el motor de plantillas de Jinja.

  • 3 Instalar y configurar Jinja en el proyecto

    Vamos a instalar y configurar Jinja en el proyecto.

  • 4 Bloques de control: Condicionales

    Veremos el primer bloque de control, el condicional.

  • 5 Bloques de control: Ciclo for

    Veremos el bloque de control for.

  • 6 Filtros

    Vamos a introducir los filtros en Jinja.

  • 7 Filtro default

    Vamos a presentar el primer filtro, el que permite imprimir un contenido por defecto cuando la expresión es nula.

  • 8 Filtro escape

    Vamos a conocer cómo imprimir textos HTML o similares de manera segura.

  • 9 Filtro conversion

    Conversión entre tipos numéricos.

  • 10 Filtro max y min

    Devolver el máximo o mínimo de una lista.

  • 11 Filtro round

    Redondeamos un valor.

  • 12 Filtro replace

    Reemplazamos un texto por otro.

  • 13 Filtro join

    Vamos a conocer cómo unir textos en una lista.

  • 14 Filtro lower y upper

    Vamos a conocer cómo convertir textos a minusculas y mayusculas.

  • 15 Filtro reverse

    Vamos a conocer cómo invertir un texto o lista.

  • 16 Filtro length

    Vamos a conocer cómo obtener el tamaño de un texto o lista.

  • 17 Filtro sort

    Vamos a conocer cómo ordenar una lista.

  • 18 Filtro slice

    Vamos a conocer cómo dividir una lista en sublistas.

  • 19 Establecer variables

    Vamos a conocer cómo establecer variables en el template.

  • 20 Bloque

    Daremos una introducción a los bloques.

  • 21 Bloque raw

    Vamos a presentar el bloque con el cual podremos imprimir el contenido sin procesar.

  • 22 Bloque macro

    Vamos a conocer el equivalente de las funciones en Jinja 2.

  • 23 Templates

    Vamos a dar una introducción a los templates.

  • 24 Herencia en los templates

    Vamos a crear un template maestro para la aplicación.

  • 25 Listado de tareas

    Vamos a mostrar un listado de tareas en el template creado anteriormente.

  • 26 Crear tarea mediante JavaScript: fetch

    Vamos a crear una tarea mediante peticiones fetch en JavaScript.

  • 27 Crear tarea mediante JavaScript: Formulario

    Vamos a crear tareas mediante un formulario en HTML y peticiones fetch.

  • 28 Crear tarea mediante JavaScript: Editar, lógica inicial

    Vamos a establecer la estructura inicial para editar registros.

  • 29 Crear tarea mediante JavaScript: Editar

    Vamos a terminar los detalles para editar una tarea.

  • 30 Crear tarea mediante JavaScript: Resumen

    Vamos a implementar la fase de eliminación.

  • 31 Crear tarea mediante JavaScript: Eliminar

    Vamos a implementar la fase de eliminación.

  • 32 Formularios en HTML, un poco de teoría

    Vamos a ver y hablar sobre la implementación que vamos a llevar a cabo.

  • 33 Formularios en HTML

    Vamos a adaptar el método de creación de tareas para que pueda crear tareas mediante un formulario HTML.

  • 34 Publicar en github

Dependencias

  • 1 Introducción

  • 2 Presentación

    Daremos un resumen de las dependencias y veremos un ejemplo de cómo usar las dependencias mediante atributos.

  • 3 Dependencias en el path (decorador de los métodos de la API)

    Vamos a inyectar una dependencia en el decorador de las rutas.

  • 4 Definir dependencias como variables

    Vamos a conocer como reutilizar una dependencia como variable y en el argumento de las funciones.

  • 5 Publicar en Github

Introducción a los Middleware

  • 1 Introducción

  • 2 Presentación

    Daremos una introducción a los middleware como intermediarios entre la petición del usuario y los métodos de la API.

  • 3 Crear un middleware

    Crearemos un middleware de ejemplo que se encargue de verificar el tiempo de operación de los métodos de la API.

  • 4 Publicar en Github

Autenticación

  • 1 Introducción

  • 2 Presentación

    Hablaremos sobre la autenticación en la aplicación y sus posibles implementaciones en la aplicación.

  • 3 Autenticación básica

    Veremos el primer esquema más simple para trabajar con un usuario autenticado y un token.

  • 4 Sobre la autenticación empleando la base de datos

    Hablaremos sobre el desarrollo a implementar en los siguientes videos.

  • 5 Autenticación BD: passlib

    Instalamos la librería para manejar los hash.

  • 6 Autenticación BD: Cambio modelo de usuario y modelo tokens

    Vamos a crear el modelo de los tokens y colocar el campo password al usuario.

  • 7 Autenticación BD: Schemas

    Vamos a modificar el esquema de usuarios para el campo password y crear el modelo de tokens.

  • 8 Autenticación BD: Manejo de contraseña

    Vamos a crear el archivo para comparar las contraseñas, generar un hash y el token.

  • 9 Autenticación BD: Función de login

    Vamos a crear la función para hacer el login.

  • 10 Autenticación BD: Función para crear token

    Vamos a crear la función para crear el token de acceso del usuario.

  • 11 Autenticación BD: Ruta para registrar un usuario

    Vamos a crear la ruta crear un usuario.

  • 12 Autenticación BD: Ruta para hacer el login/crear token

    Vamos a crear la ruta para crear el token.

  • 13 Autenticación BD: Proteger rutas, esquema inicial

    Vamos a crear un esquema para proteger rutas por el token autenticado.

  • 14 Autenticación BD: Proteger rutas con usuario autenticado

    Vamos a crear un método para proteger las rutas de la aplicación.

  • 15 Autenticación BD: Logout

    Vamos a implementar el logout.

  • 16 Protección de los métodos de la API mediante la dependencia OAuth2PasswordBearer

    Vamos a conocer cómo emplear la dependencia de OAuth2PasswordBearer para proteger las rutas.

  • 17 Verificar token de acceso al momento de crear el token

    Vamos a agregar condiciones adicionales para eliminar un token expirado o devolver un token válido al momento de crear el token.

  • 18 Publicar en Github

Anotaciones, notación de Ellipsis (...) y tipos devueltos

  • 1 Notación de Ellipsis

    Vamos a conocer la notación de los 3 puntos.

  • 2 Anotaciones/Annotated, primeros pasos

    Vamos a hablar sobre el uso de las anotaciones.

  • 3 Anotaciones/Annotated, ejemplos

    Vamos a ver unos ejemplos usando las anotaciones.

  • 4 Tipos devueltos

    Vamos a conocer los tipos de datos devueltos.

Testing/Pruebas en aplicaciones de FastAPI

  • 1 Introducción

  • 2 Presentación

    Daremos las primeras pautas en el uso de las pruebas unitarias.

  • 3 Creando las primeras pruebas unitarias

    Vamos a crear unas funciones matemáticas para introducir el uso de las pruebas unitarias.

  • 4 Más casos

    Evaluaremos otros casos en el uso de las pruebas unitarias.

  • 5 Eliminando la repetición con pytest fixtures

    Vamos a conocer cómo probar código en puntos finales.

  • 6 Extra: Loop event, presentación

    Daremos una presentación de cómo ejecutar código asíncrono en Python.

  • 7 Extra: Loop event, primer ejemplo

    Vamos a crear un primer ejemplo simple usando el loop event.

  • 8 Extra: Loop event, segundo ejemplo

    Vamos a crear un segundo ejemplo simple usando el loop event con ejecutar código en el background de manera paralela.

  • 9 Configuraciones bases: BD y pytest.ini loop

    Vamos a empezar a configurar el entorno para realizar las pruebas a nuestra API, comenzamos definiendo la BD y un archivo para habilitar el modo asíncrono en pytest.

  • 10 Configuraciones bases: loop

    Vamos a crear la función para generar el loop.

  • 11 Configuraciones bases: client

    Vamos a crear la función para generar el cliente.

  • 12 Probar modulo de usuario: registrar, definir función

    Vamos a crear el cuerpo de la función para probar el registro del usuario.

  • 13 Probar modulo de usuario: registrar, probar

    Vamos a probar la prueba unitaria creada anteriormente.

  • 14 Probar modulo de usuario: login

    Vamos a implementar la prueba unitaria para el login.

  • 15 Probar modulo de usuario: logout

    Vamos a implementar la prueba unitaria para el logout.

  • 16 Probar modulo de tareas: crear una tarea

    Vamos a implementar la prueba unitaria para crear una tarea mediante un request en JSON.

  • 17 Probar modulo de tareas: crear una tarea (FormData)

    Vamos a probar el método de creación mediante los datos establecidos en el FormData.

  • 18 Probar modulo de tareas: actualizar una tarea

    Vamos a crear la prueba para actualizar la tarea.

  • 19 Probar modulo de tareas: obtener las tareas

    Vamos a realizar la prueba para obtener todas las tareas.

  • 20 Probar modulo de tareas: obtener por id

    Vamos a realizar la prueba para obtener el detalle de una tarea.

  • 21 Probar modulo de tareas: eliminar tareas

    Probar modulo de tareas: eliminar tareas

  • 22 Probar modulo de tareas: eliminar tareas, tarea no existe

    Vamos a realizar una prueba para eliminar una tarea que no exista y concluir el tema dando un resumen del propósito de las pruebas y de qué otras pruebas se pueden implementar para nuestra api.

  • 23 Publicar en Github

Usando TestClient de FastAPI para hacer las pruebas unitarias

  • 1 Introducción

  • 2 Presentación

    Veremos de manera teórica como usar el módulo de TestClient junto con sus configuraciones.

  • 3 Configuración base

    Implementamos las configuraciones base de TestClient.

  • 4 Probar modulo de usuario: registrar

    Vamos a implementar la prueba unitaria para registrar un usuario.

  • 5 Probar modulo de usuario: login

    Vamos a implementar la prueba unitaria para el login.

  • 6 Probar modulo de usuario: logout

    Vamos a implementar la prueba unitaria para el logout.

  • 7 Probar modulo de tareas: crear una tarea

    Vamos a implementar la prueba unitaria para crear una tarea mediante un request en JSON.

  • 8 Probar modulo de tareas: crear una tarea (FormData)

    Vamos a probar el método de creación mediante los datos establecidos en el FormData.

  • 9 Probar modulo de tareas: actualizar una tarea

    Vamos a crear la prueba para actualizar la tarea.

  • 10 Probar modulo de tareas: obtener las tareas

    Vamos a realizar la prueba para obtener todas las tareas.

  • 11 Probar modulo de tareas: obtener por id

    Vamos a realizar la prueba para obtener el detalle de una tarea.

  • 12 Probar modulo de tareas: eliminar tareas

    Vamos a realizar la prueba para eliminar una tarea.

  • 13 Probar modulo de tareas: eliminar tareas, tarea no existe

    Vamos a realizar una prueba para eliminar una tarea que no exista y concluir el tema dando un resumen del propósito de las pruebas y de qué otras pruebas se pueden implementar para nuestra api.

  • 14 Otras pruebas: Definir módulos

    Vamos a utilizar un módulo de pytest para generar un token y probar un método de la API con un token con un valor fijo.

  • 15 Otras pruebas: Probar token en la base de datos

    Vamos a realizar la prueba para probar el token en la BD.

  • 16 Otras pruebas: Rutas con OAuth2PasswordBearer

    Vamos a crear una prueba para poder probar un recurso protegido con OAuth2PasswordBearer.

  • 17 Conclusiones

  • 18 Publicar en github

Aspectos generales

  • 1 VSC: Seleccionar intérprete

    Veremos cómo seleccionar el intérprete de Python para tu ambiente virtual en VSC.

  • 2 Modo debug en VSC

    Vamos a conocer como activar el modo debug en VSC.

  • 3 Tareas en segundo plano

    Vamos a conocer como trabajar con tareas pesadas.

Legacy - Declarar solicitud de datos de ejemplo Pydantic V1

  • 1 introducción

  • 2 Datos de ejemplos en modelos

    Vamos a conocer como generar datos de prueba en las clases modelos.

  • 3 Relaciones anidadas

    Vamos a colocar las relaciones en la data de prueba del modelo.

  • 4 Lista de opciones en los modelos

    Vamos a crear una lista de opciones de los ejemplos en los modelos.

  • 5 Datos de ejemplos en argumentos, primitivas

    Vamos a conocer cómo colocar datos de ejemplos en los métodos de la API.

  • 6 Lista de opciones en los métodos de la API

    Vamos a conocer cómo colocar un listado de datos de ejemplo en las primitivas de los métodos de la API.

  • 7 Publicar en Github


Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.

Conozca nuestros cursos sobre Laravel, CodeIgniter, Flutter, Electron, Django, Flask y muchos más!

Ver los cursos
¡Hazte afiliado en Gumroad!

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
!Web Alojada en Hostinger!