/FastApi

This repository contains a project developed with FastAPI, a modern and fast framework for building APIs in Python. It uses MongoDB, a flexible and scalable NoSQL database.

Primary LanguagePython

Hello Python

Python FastAPI MongoDB ChatGPT

FastAPI - Prácticas y Recomendaciones

Bienvenido al repositorio de prácticas para el desarrollo con FastAPI en Python. Este documento proporciona información útil, ejemplos y recomendaciones para trabajar de manera efectiva con FastAPI.

¿Qué es FastAPI?

FastAPI es un moderno y rápido framework web para construir APIs con Python 3.7+ basado en estándares y tipado de datos. Ofrece un rendimiento excepcional y una interfaz de desarrollo fácil de usar.

Instalación

Para comenzar, instala FastAPI y el servidor ASGI (por ejemplo, Uvicorn) utilizando pip:

pip install fastapi uvicorn

Ejecutando la Aplicación

Puedes ejecutar tu aplicación FastAPI utilizando Uvicorn con el siguiente comando:

uvicorn main:app --reload

Asegúrate de reemplazar main con el nombre de tu archivo principal y app con la instancia de tu aplicación FastAPI.

Ejemplos de Uso

Definir Rutas y Operaciones

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"mensaje": "¡Hola, FastAPI!"}

@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
    return {"item_id": item_id, "query_param": query_param}

Validación de Datos

FastAPI utiliza la validación de tipos para los datos de entrada y salida automáticamente.

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str = None
    price: float
    tax: float = None

@app.post("/items/")
def create_item(item: Item):
    return item

Recomendaciones

Utiliza el sistema de dependencias y la inyección de dependencias de FastAPI para gestionar componentes de manera eficiente. Aprovecha las capacidades de la documentación interactiva generada automáticamente en http://localhost:8000/docs. Explora la integración sencilla con bibliotecas como SQLAlchemy, Tortoise-ORM, y OAuth2 para una funcionalidad extendida.

Instala las siguientes librerias para utilizar este repo:
fastapi
python-jose
passlib
bcrypt
pymongo
python-multipart

Backend desde cero by MoureDev (autor del curso)

En este repo utilizare el curso de MoureDev en el que aprenderemos a utilizar Python para backend e implementaremos un API REST con autenticación, base de datos y desplegaremos el proyecto en un servidor real.

Repositorio del Curso de MoureDev

Código: Directorio "Backend" en el proyecto

*ACTUALIZACIÓN Sobre la lección 18: Deta ha actualizado ligeramente su servicio de despliegue de aplicaciones con FastAPI. Tienes toda la documentación aquí. También han creado una guía de migración.

Enlaces de interés

Puedes apoyar mi trabajo haciendo "☆ Star" en el repo

Contribuciones

Siéntete libre de contribuir a este repositorio con ejemplos, prácticas y mejoras. ¡Tu colaboración es bienvenida!

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles. Este README proporciona una breve introducción a FastAPI, instrucciones de instalación, ejemplos de código y recomendaciones para el desarrollo. Puedes personalizar y expandir este documento según las necesidades específicas de tu proyecto. ¡Espero que sea útil!

En mi perfil de GitHub tienes más información

Web