my_api_fastapi / README.md
dinho1597's picture
Update README.md
919b215 verified
---
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