¡Bienvenidos al taller de desarrollo de REST APIs con FastAPI y Python! En este taller, vamos a crear nuestra primera API que permitirá realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sobre una base de datos de usuarios. Este desafío está diseñado para ayudarte a familiarizarte con los conceptos básicos de FastAPI y Python, así como con el desarrollo de APIs RESTful.

Objetivo del Desafío

El objetivo de este desafío es crear una API que permita realizar operaciones CRUD sobre una base de datos de usuarios. Los usuarios tendrán campos como nombre, correo electrónico, contraseña y fecha de nacimiento.

Requisitos del Desafío

Para completar este desafío, necesitarás implementar los siguientes endpoints:

Crear un nuevo usuario:

  • Método: POST
  • Ruta: /users
  • Descripción: Este endpoint debe permitir crear un nuevo usuario en la base de datos.

Obtener un usuario por su ID:

  • Método: GET
  • Ruta: /users/{id}
  • Descripción: Este endpoint debe permitir obtener la información de un usuario específico mediante su ID.

Actualizar un usuario por su ID:

  • Método: PUT
  • Ruta: /users/{id}
  • Descripción: Este endpoint debe permitir actualizar la información de un usuario específico mediante su ID.

Actualizar parcialmente un usuario por su ID:

  • Método: PATCH
  • Ruta: /users/{id}
  • Descripción: Este endpoint debe permitir actualizar parcialmente la información de un usuario específico mediante su ID.

Eliminar un usuario por su ID:

  • Método: DELETE
  • Ruta: /users/{id}
  • Descripción: Este endpoint debe permitir eliminar un usuario específico mediante su ID.

Listar todos los usuarios:

  • Método: GET
  • Ruta: /users
  • Descripción: Este endpoint debe permitir obtener una lista de todos los usuarios en la base de datos.

Modelo de Usuario

El modelo de usuario debe incluir los siguientes campos:

  • Nombre: El nombre del usuario.
  • Correo electrónico: El correo electrónico del usuario.
  • Contraseña: La contraseña del usuario.
  • Fecha de nacimiento: La fecha de nacimiento del usuario.

Pasos a Seguir

Configuración del Proyecto:

  • Crea un nuevo proyecto de FastAPI.
  • Configura tu entorno de desarrollo y asegúrate de tener todas las dependencias necesarias.

Definición del Modelo de Usuario:

  • Define el modelo de usuario con los campos mencionados anteriormente.

Implementación de los Endpoints:

  • Implementa cada uno de los endpoints descritos en la sección de requisitos.

Pruebas:

  • Realiza pruebas para asegurarte de que cada endpoint funciona correctamente.
  • Utiliza herramientas como Postman o cURL para probar tus endpoints.
  • Para almacenar a los usuarios utilice un di

Documentación:

  • Documenta tu API utilizando la documentación automática de FastAPI.
  • Asegúrate de que cada endpoint esté bien documentado y sea fácil de entender.

Recursos Adicionales

Conclusión

Este desafío te permitirá adquirir una comprensión básica de cómo desarrollar una API RESTful utilizando FastAPI y Python. A medida que avances, te animo a explorar más funcionalidades de FastAPI y a experimentar con diferentes tipos de endpoints y modelos de datos.