Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,96 +1,96 @@
|
|
| 1 |
-
---
|
| 2 |
-
title: Mi API Completa con FastAPI
|
| 3 |
-
emoji: 🚀
|
| 4 |
-
colorFrom: blue
|
| 5 |
-
colorTo: green
|
| 6 |
-
sdk: docker
|
| 7 |
-
app_port:
|
| 8 |
-
---
|
| 9 |
-
|
| 10 |
-
# 🚀 Mi API Completa con FastAPI
|
| 11 |
-
|
| 12 |
-
Este es un Space de demostración para una API creada con FastAPI que incluye todos los métodos HTTP comunes.
|
| 13 |
-
|
| 14 |
-
La API se ejecuta dentro de un contenedor Docker y te permite gestionar una lista de ítems.
|
| 15 |
-
|
| 16 |
-
## Documentación Interactiva de la API
|
| 17 |
-
|
| 18 |
-
FastAPI genera automáticamente una documentación interactiva. Puedes acceder a ella agregando `/docs` a la URL de este Space.
|
| 19 |
-
|
| 20 |
-
- **Swagger UI**: [URL_DE_TU_SPACE/docs](URL_DE_TU_SPACE/docs)
|
| 21 |
-
- **ReDoc**: [URL_DE_TU_SPACE/redoc](URL_DE_TU_SPACE/redoc)
|
| 22 |
-
|
| 23 |
-
## Cómo usar los Endpoints
|
| 24 |
-
|
| 25 |
-
Puedes usar `curl` o cualquier cliente HTTP para interactuar con la API. Reemplaza `URL_DE_TU_SPACE` con la URL de tu aplicación.
|
| 26 |
-
|
| 27 |
-
### `GET /items` - Obtener todos los ítems
|
| 28 |
-
```bash
|
| 29 |
-
curl -X 'GET' 'URL_DE_TU_SPACE/items' -H 'accept: application/json'
|
| 30 |
-
```
|
| 31 |
-
|
| 32 |
-
### POST /items - Crear un nuevo ítem
|
| 33 |
-
```bash
|
| 34 |
-
|
| 35 |
-
curl -X 'POST' \
|
| 36 |
-
'URL_DE_TU_SPACE/items' \
|
| 37 |
-
-H 'accept: application/json' \
|
| 38 |
-
-H 'Content-Type: application/json' \
|
| 39 |
-
-d '{
|
| 40 |
-
"id": 3,
|
| 41 |
-
"name": "Monitor Ultrawide",
|
| 42 |
-
"description": "Un monitor de 34 pulgadas",
|
| 43 |
-
"price": 499.99
|
| 44 |
-
}'
|
| 45 |
-
```
|
| 46 |
-
### GET /items/{item_id} - Obtener un ítem por ID
|
| 47 |
-
```bash
|
| 48 |
-
|
| 49 |
-
curl -X 'GET' 'URL_DE_TU_SPACE/items/1' -H 'accept: application/json'
|
| 50 |
-
PUT /items/{item_id} - Actualizar un ítem completamente
|
| 51 |
-
Bash
|
| 52 |
-
|
| 53 |
-
curl -X 'PUT' \
|
| 54 |
-
'URL_DE_TU_SPACE/items/1' \
|
| 55 |
-
-H 'accept: application/json' \
|
| 56 |
-
-H 'Content-Type: application/json' \
|
| 57 |
-
-d '{
|
| 58 |
-
"id": 1,
|
| 59 |
-
"name": "Laptop Gamer",
|
| 60 |
-
"description": "Un potente portátil con RTX 4080",
|
| 61 |
-
"price": 2500.00
|
| 62 |
-
}'
|
| 63 |
-
```
|
| 64 |
-
### DELETE /items/{item_id} - Eliminar un ítem
|
| 65 |
-
```bash
|
| 66 |
-
|
| 67 |
-
curl -X 'DELETE' 'URL_DE_TU_SPACE/items/2' -H 'accept: application/json'
|
| 68 |
-
```
|
| 69 |
-
### Cómo Subirlo a Hugging Face Spaces
|
| 70 |
-
|
| 71 |
-
1. **Crea una cuenta** en [Hugging Face](https://huggingface.co/).
|
| 72 |
-
2. Ve a tu perfil y haz clic en **"New Space"**.
|
| 73 |
-
3. Dale un **nombre** a tu Space (por ejemplo, `mi-api-fastapi`).
|
| 74 |
-
4. Elige una **licencia**.
|
| 75 |
-
5. Selecciona **"Docker"** como el SDK del Space.
|
| 76 |
-
6. Haz clic en **"Create Space"**.
|
| 77 |
-
7. Sigue las instrucciones para subir tus archivos. La forma más sencilla es:
|
| 78 |
-
* Ir a la pestaña **"Files and versions"**.
|
| 79 |
-
* Hacer clic en **"Add file"** y luego **"Upload files"**.
|
| 80 |
-
* Arrastra y suelta los cuatro archivos (`main.py`, `requirements.txt`, `Dockerfile`, `README.md`) que creaste.
|
| 81 |
-
* Escribe un mensaje de commit (ej. "Versión inicial") y haz clic en **"Commit changes to main"**.
|
| 82 |
-
|
| 83 |
-
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!
|
| 84 |
-
### Probar en el local
|
| 85 |
-
python -m venv venv
|
| 86 |
-
.\venv\Scripts\Activate.ps1
|
| 87 |
-
pip install -r requirements.txt
|
| 88 |
-
uvicorn main:app --reload
|
| 89 |
-
http://127.0.0.1:8000/docs
|
| 90 |
-
|
| 91 |
-
### Docker
|
| 92 |
-
docker build -t my_fast_api .
|
| 93 |
-
docker run -d -p 8000:8000 --name mi-api-container my_fast_api
|
| 94 |
-
|
| 95 |
-
http://127.0.0.1:8000/docs
|
| 96 |
http://127.0.0.1:8000/items
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: Mi API Completa con FastAPI
|
| 3 |
+
emoji: 🚀
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: green
|
| 6 |
+
sdk: docker
|
| 7 |
+
app_port: 7860
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# 🚀 Mi API Completa con FastAPI
|
| 11 |
+
|
| 12 |
+
Este es un Space de demostración para una API creada con FastAPI que incluye todos los métodos HTTP comunes.
|
| 13 |
+
|
| 14 |
+
La API se ejecuta dentro de un contenedor Docker y te permite gestionar una lista de ítems.
|
| 15 |
+
|
| 16 |
+
## Documentación Interactiva de la API
|
| 17 |
+
|
| 18 |
+
FastAPI genera automáticamente una documentación interactiva. Puedes acceder a ella agregando `/docs` a la URL de este Space.
|
| 19 |
+
|
| 20 |
+
- **Swagger UI**: [URL_DE_TU_SPACE/docs](URL_DE_TU_SPACE/docs)
|
| 21 |
+
- **ReDoc**: [URL_DE_TU_SPACE/redoc](URL_DE_TU_SPACE/redoc)
|
| 22 |
+
|
| 23 |
+
## Cómo usar los Endpoints
|
| 24 |
+
|
| 25 |
+
Puedes usar `curl` o cualquier cliente HTTP para interactuar con la API. Reemplaza `URL_DE_TU_SPACE` con la URL de tu aplicación.
|
| 26 |
+
|
| 27 |
+
### `GET /items` - Obtener todos los ítems
|
| 28 |
+
```bash
|
| 29 |
+
curl -X 'GET' 'URL_DE_TU_SPACE/items' -H 'accept: application/json'
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
### POST /items - Crear un nuevo ítem
|
| 33 |
+
```bash
|
| 34 |
+
|
| 35 |
+
curl -X 'POST' \
|
| 36 |
+
'URL_DE_TU_SPACE/items' \
|
| 37 |
+
-H 'accept: application/json' \
|
| 38 |
+
-H 'Content-Type: application/json' \
|
| 39 |
+
-d '{
|
| 40 |
+
"id": 3,
|
| 41 |
+
"name": "Monitor Ultrawide",
|
| 42 |
+
"description": "Un monitor de 34 pulgadas",
|
| 43 |
+
"price": 499.99
|
| 44 |
+
}'
|
| 45 |
+
```
|
| 46 |
+
### GET /items/{item_id} - Obtener un ítem por ID
|
| 47 |
+
```bash
|
| 48 |
+
|
| 49 |
+
curl -X 'GET' 'URL_DE_TU_SPACE/items/1' -H 'accept: application/json'
|
| 50 |
+
PUT /items/{item_id} - Actualizar un ítem completamente
|
| 51 |
+
Bash
|
| 52 |
+
|
| 53 |
+
curl -X 'PUT' \
|
| 54 |
+
'URL_DE_TU_SPACE/items/1' \
|
| 55 |
+
-H 'accept: application/json' \
|
| 56 |
+
-H 'Content-Type: application/json' \
|
| 57 |
+
-d '{
|
| 58 |
+
"id": 1,
|
| 59 |
+
"name": "Laptop Gamer",
|
| 60 |
+
"description": "Un potente portátil con RTX 4080",
|
| 61 |
+
"price": 2500.00
|
| 62 |
+
}'
|
| 63 |
+
```
|
| 64 |
+
### DELETE /items/{item_id} - Eliminar un ítem
|
| 65 |
+
```bash
|
| 66 |
+
|
| 67 |
+
curl -X 'DELETE' 'URL_DE_TU_SPACE/items/2' -H 'accept: application/json'
|
| 68 |
+
```
|
| 69 |
+
### Cómo Subirlo a Hugging Face Spaces
|
| 70 |
+
|
| 71 |
+
1. **Crea una cuenta** en [Hugging Face](https://huggingface.co/).
|
| 72 |
+
2. Ve a tu perfil y haz clic en **"New Space"**.
|
| 73 |
+
3. Dale un **nombre** a tu Space (por ejemplo, `mi-api-fastapi`).
|
| 74 |
+
4. Elige una **licencia**.
|
| 75 |
+
5. Selecciona **"Docker"** como el SDK del Space.
|
| 76 |
+
6. Haz clic en **"Create Space"**.
|
| 77 |
+
7. Sigue las instrucciones para subir tus archivos. La forma más sencilla es:
|
| 78 |
+
* Ir a la pestaña **"Files and versions"**.
|
| 79 |
+
* Hacer clic en **"Add file"** y luego **"Upload files"**.
|
| 80 |
+
* Arrastra y suelta los cuatro archivos (`main.py`, `requirements.txt`, `Dockerfile`, `README.md`) que creaste.
|
| 81 |
+
* Escribe un mensaje de commit (ej. "Versión inicial") y haz clic en **"Commit changes to main"**.
|
| 82 |
+
|
| 83 |
+
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!
|
| 84 |
+
### Probar en el local
|
| 85 |
+
python -m venv venv
|
| 86 |
+
.\venv\Scripts\Activate.ps1
|
| 87 |
+
pip install -r requirements.txt
|
| 88 |
+
uvicorn main:app --reload
|
| 89 |
+
http://127.0.0.1:8000/docs
|
| 90 |
+
|
| 91 |
+
### Docker
|
| 92 |
+
docker build -t my_fast_api .
|
| 93 |
+
docker run -d -p 8000:8000 --name mi-api-container my_fast_api
|
| 94 |
+
|
| 95 |
+
http://127.0.0.1:8000/docs
|
| 96 |
http://127.0.0.1:8000/items
|