--- title: Mi API Completa con FastAPI emoji: 🚀 colorFrom: blue colorTo: green sdk: docker app_port: 7860 --- # 🚀 Mi API Completa con FastAPI Este es un Space de demostración para una API creada con FastAPI que incluye todos los métodos HTTP comunes. La API se ejecuta dentro de un contenedor Docker y te permite gestionar una lista de ítems. ## Documentación Interactiva de la API FastAPI genera automáticamente una documentación interactiva. Puedes acceder a ella agregando `/docs` a la URL de este Space. - **Swagger UI**: [URL_DE_TU_SPACE/docs](URL_DE_TU_SPACE/docs) - **ReDoc**: [URL_DE_TU_SPACE/redoc](URL_DE_TU_SPACE/redoc) ## Cómo usar los Endpoints Puedes usar `curl` o cualquier cliente HTTP para interactuar con la API. Reemplaza `URL_DE_TU_SPACE` con la URL de tu aplicación. ### `GET /items` - Obtener todos los ítems ```bash curl -X 'GET' 'URL_DE_TU_SPACE/items' -H 'accept: application/json' ``` ### POST /items - Crear un nuevo ítem ```bash curl -X 'POST' \ 'URL_DE_TU_SPACE/items' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "id": 3, "name": "Monitor Ultrawide", "description": "Un monitor de 34 pulgadas", "price": 499.99 }' ``` ### GET /items/{item_id} - Obtener un ítem por ID ```bash curl -X 'GET' 'URL_DE_TU_SPACE/items/1' -H 'accept: application/json' PUT /items/{item_id} - Actualizar un ítem completamente Bash curl -X 'PUT' \ 'URL_DE_TU_SPACE/items/1' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "id": 1, "name": "Laptop Gamer", "description": "Un potente portátil con RTX 4080", "price": 2500.00 }' ``` ### DELETE /items/{item_id} - Eliminar un ítem ```bash curl -X 'DELETE' 'URL_DE_TU_SPACE/items/2' -H 'accept: application/json' ``` ### Cómo Subirlo a Hugging Face Spaces 1. **Crea una cuenta** en [Hugging Face](https://huggingface.co/). 2. Ve a tu perfil y haz clic en **"New Space"**. 3. Dale un **nombre** a tu Space (por ejemplo, `mi-api-fastapi`). 4. Elige una **licencia**. 5. Selecciona **"Docker"** como el SDK del Space. 6. Haz clic en **"Create Space"**. 7. Sigue las instrucciones para subir tus archivos. La forma más sencilla es: * Ir a la pestaña **"Files and versions"**. * Hacer clic en **"Add file"** y luego **"Upload files"**. * Arrastra y suelta los cuatro archivos (`main.py`, `requirements.txt`, `Dockerfile`, `README.md`) que creaste. * Escribe un mensaje de commit (ej. "Versión inicial") y haz clic en **"Commit changes to main"**. Hugging Face detectará tu `Dockerfile` y `README.md`, construirá la imagen y desplegará tu aplicación. ¡En unos minutos, tu API estará en línea y lista para usar! ### Probar en el local python -m venv venv .\venv\Scripts\Activate.ps1 pip install -r requirements.txt uvicorn main:app --reload http://127.0.0.1:8000/docs ### Docker docker build -t my_fast_api . docker run -d -p 8000:8000 --name mi-api-container my_fast_api http://127.0.0.1:8000/docs http://127.0.0.1:8000/items