Tu API viene precargada con 4 adorables gatos:
| 🐾 Nombre | 🎭 Raza | 🌍 Origen | ⭐ Popularidad | 📏 Tamaño | 🎨 Temperamento |
|---|---|---|---|---|---|
| Bambú | Calico | 🌍 Mundial | 8/10 | Mediano | Independiente, Cariñoso |
| Peter | Snowshoe | 🇺🇸 Estados Unidos | 7/10 | Mediano | Dulce, Vocal |
| Alma | Vaca | 🌍 Mundial | 9/10 | Mediano | Amigable, Tranquilo |
| Felipa | Atigrado Blanco | 🌍 Mundial | 10/10 | Mediano | Independiente, Cazador |
# 1. Clona o descarga el proyecto
git clone https://github.com/Pal-cloud/cat_api
# 2. Instala dependencias
pip install flask requests
# 3. ¡Inicia tu API!
python api_razas_gatos.py| 🔗 Endpoint | 📝 Descripción | 🌍 URL |
|---|---|---|
| 🏠 Principal | Información de la API | http://127.0.0.1:5000/ |
| 🐾 Todas las razas | Ver las 4 razas completas | http://127.0.0.1:5000/razas |
| 📊 Estadísticas | Datos y métricas | http://127.0.0.1:5000/estadisticas |
| ⭐ Populares | Razas más queridas | http://127.0.0.1:5000/razas/populares |
Tu API viene precargada con 4 razas fascinantes:
| 🐾 Raza | 🌍 Origen | ⭐ Popularidad | 📏 Tamaño | 🎨 Temperamento |
|---|---|---|---|---|
| Calicó (Tricolor) | � Mundial | 8/10 | Mediano | Independiente, Cariñoso |
| Snowshoe | 🇺🇸 Estados Unidos | 7/10 | Mediano | Dulce, Vocal |
| Vaca (Bicolor) | � Mundial | 9/10 | Mediano | Amigable, Tranquilo |
| Común Atigrado | � Mundial | 10/10 | Mediano | Independiente, Cazador |
- 🔍 CRUD Completo - Crear, Leer, Actualizar, Eliminar razas
- 📊 Filtros Avanzados - Por tamaño, origen, popularidad
- 📈 Estadísticas - Métricas automáticas y análisis
- 🎯 Búsquedas - Por país de origen y características
- ✅ Validación - Datos consistentes y seguros
GET / # Información de la API
GET /razas # Todos los gatos
POST /razas # Agregar nuevo gato
GET /razas/{nombre} # Obtener gato por nombre
PUT /razas/{nombre} # Actualizar gato por nombre
DELETE /razas/{nombre} # Eliminar gato por nombre
GET /razas/populares # Gatos populares (≥7)
GET /razas/tamano/{tamaño} # Filtrar por tamaño
GET /razas/origen/{país} # Filtrar por origen
GET /estadisticas # Métricas generales| 📁 Archivo | 📝 Descripción |
|---|---|
api_razas_gatos.py |
🚀 API principal con todas las funciones |
test_api_razas_gatos.py |
🧪 Script de pruebas automáticas |
inicio_rapido.py |
⚡ Iniciador rápido con navegador |
requirements.txt |
� Dependencias del proyecto |
public/api_cats.png |
🖼️ Banner e imagen del proyecto |
curl http://127.0.0.1:5000/razascurl http://127.0.0.1:5000/razas/Bambúcurl -X POST http://127.0.0.1:5000/razas \
-H "Content-Type: application/json" \
-d '{
"nombre": "Mimi",
"raza": "British Shorthair",
"origen": "Reino Unido",
"popularidad": 8,
"tamaño": "mediano"
}'curl -X PUT http://127.0.0.1:5000/razas/Peter \
-H "Content-Type: application/json" \
-d '{
"popularidad": 9,
"descripcion": "Gato muy cariñoso y sociable"
}'curl http://127.0.0.1:5000/estadisticas¿Quieres llevar tu API al siguiente nivel? Aquí tienes ideas geniales:
# En api_razas_gatos.py, función crear_raza():
'energia': datos.get('energia', 5), # 1-10
'sociabilidad': datos.get('sociabilidad', 5),
'nivel_ruido': datos.get('nivel_ruido', 5),
'facilidad_cuidado': datos.get('facilidad_cuidado', 5),
'imagen_url': datos.get('imagen_url', '')- 🌿 API de Plantas - Especies, cuidados, estaciones
- 📚 API de Libros - Tu biblioteca personal
- 🍳 API de Recetas - Ingredientes, dificultad, tiempo
- 🏋️ API de Ejercicios - Rutinas y seguimiento
# Instalar: pip install sqlite3
import sqlite3
def crear_tabla():
conn = sqlite3.connect('razas_gatos.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE razas (
id TEXT PRIMARY KEY,
nombre TEXT NOT NULL,
origen TEXT,
descripcion TEXT,
popularidad INTEGER
)
''')
conn.commit()
conn.close()¿Quieres adaptar la API a tu gusto? ¡Perfecto!
- 🔧 Agregar campos: Edad, peso, cuidados específicos
- 🌍 Cambiar datos: Otras mascotas, plantas, libros, etc.
- 🎯 Nuevas funciones: Filtros, búsquedas, imágenes
python test_api_razas_gatos.pypython inicio_rapido.py✔ Definición
Una API (Application Programming Interface) es un conjunto de reglas que permite que dos aplicaciones se comuniquen entre sí.
Ejemplos:
• Una app del clima consultando un servidor de meteorología.
• Un frontend web pidiéndole datos a un backend.
✔ Definición API Web / API REST
Cuando hablamos de API REST generalmente nos referimos a APIs que funcionan sobre HTTP siguiendo ciertos principios:
📌 Principios REST
• Cliente - Servidor: Frontend y backend separados.
• Sin estado (stateless): Cada petición contiene toda la información necesaria.
• Recursos: Todo se modela como recursos (usuarios, productos, posts…).
• Métodos HTTP: GET, POST, PUT, DELETE para operaciones.
• Representaciones: JSON, XML para transferir datos.
✔ Definición CRUD
CRUD es un acrónimo para las operaciones básicas en bases de datos:
• Create (Crear): Agregar nuevos datos.
• Read (Leer): Obtener/consultar datos existentes.
• Update (Actualizar): Modificar datos existentes.
• Delete (Eliminar): Borrar datos.
📌 Mapeo CRUD a HTTP
• CREATE → POST /recursos
• READ → GET /recursos o GET /recursos/id
• UPDATE → PUT /recursos/id
• DELETE → DELETE /recursos/id
- Python 3.7+
- Flask 2.0+
pip install flask requests📁 pildora_api_rest_crud/
├── 🐱 api_razas_gatos.py # API principal
├── 🧪 test_api_razas_gatos.py # Pruebas
├── ⚡ inicio_rapido.py # Inicio rápido
├── � requirements.txt # Dependencias
├── 🖼️ public/api_cats.png # Banner
└── 📝 README.md # Este archivo
¡Las contribuciones son bienvenidas!
- 🍴 Fork el proyecto
- 🌟 Crea una feature branch
- 💻 Realiza tus cambios
- 🧪 Ejecuta las pruebas
- 📤 Envía un pull request
Este proyecto es de uso educativo y está disponible bajo la licencia MIT.
Made with ❤️ and 🐱
⭐ ¡Dale una estrella a cat_api si te gusta el proyecto! ⭐
