Parámetros de ruta y de consulta
Comprenda cómo capturar datos dinámicos de las URL mediante parámetros de ruta y procesar parámetros de consulta opcionales.
Parámetros de ruta y de consulta es una lección gratuita de FastAPI Backend Development Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de FastAPI Backend Development Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de FastAPI Backend Development Bootcamp incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Dynamic URLs for APIs
APIs often carry data right in the URL — fetching a product by ID or filtering a list. FastAPI gives you clean ways to capture that. Let's dig in.
Meet Path Parameters
Path parameters are URL segments that pin down a specific resource, written in curly braces like /items/{item_id}. Perfect for one exact item.
Your First Path Parameter
Match a path segment to a function arg by name: /items/{item_id} maps to item_id. The type hint int auto-converts it.
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id, "message": "Here is your item!"}Power of Type Hints
Type hints like item_id: int drive validation. Hit /items/abc and FastAPI returns a clean error automatically. Use str, int, float, bool, UUID.
Handling Multiple Paths
You can take several path parameters in one route. FastAPI matches them by name, so the order in your function signature doesn't matter.
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{user_id}/items/{item_id}")
async def read_user_item(user_id: int, item_id: str):
return {"user_id": user_id, "item_id": item_id}What are Query Parameters?
Query parameters are key-value pairs after a ?, like /items?skip=0&limit=10. They are optional — ideal for filtering, paging, or sorting.
Your First Query Parameter
Any function arg that is not in the path becomes a query parameter automatically. Here, skip and limit are typed integers.
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(skip: int = 0, limit: int = 10):
return {"skip": skip, "limit": limit}Optional Queries & Defaults
Make a query parameter optional by giving it a default. For a None default, type it as Optional[str] so FastAPI knows it may be missing.
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/products/")
async def read_products(q: Optional[str] = None, page_size: int = 20):
results = {"page_size": page_size}
if q:
results.update({"search_query": q})
return resultsPath + Query Power
Combine both: path parameters are required, query parameters stay optional with defaults. FastAPI sorts out which is which seamlessly.
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{user_id}/orders/")
async def get_user_orders(user_id: int, status: Optional[str] = None, limit: int = 10):
return {"user_id": user_id, "status": status, "limit": limit, "message": "User orders fetched."}Quick Check on Parameters
Consider the following FastAPI endpoint:
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/books/{book_id}")
async def get_book(book_id: int, author: str = "Unknown", published_year: Optional[int] = None):
return {
"book_id": book_id,
"author": author,
"published_year": published_year
}Which of the following URLs would successfully call this endpoint and return a published_year?
Recap: Dynamic API Routes
Great work! You made routes dynamic with path parameters for required IDs, query parameters for optional filters, and type hints for free validation.
Preguntas frecuentes
¿La lección «Parámetros de ruta y de consulta» es gratis?
Sí — el texto completo de «Parámetros de ruta y de consulta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de FastAPI Backend Development Bootcamp, actualiza a CoddyKit PRO. El curso de FastAPI Backend Development Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Parámetros de ruta y de consulta»?
Comprenda cómo capturar datos dinámicos de las URL mediante parámetros de ruta y procesar parámetros de consulta opcionales. Practicas FastAPI Backend Development Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar FastAPI Backend Development Bootcamp?
No se requiere experiencia previa. FastAPI Backend Development Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Parámetros de ruta y de consulta»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de FastAPI Backend Development Bootcamp?
Sí. Cada lección de FastAPI Backend Development Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a FastAPI y configuración
- Su primer endpoint de API
- Parámetros de ruta y de consulta
- Documentación de API interactiva con Swagger UI