Ejercicio de programación con FastAPI: Path parameters y query parameters Productos

Código
Puntuación
0h 15m

Crea un endpoint en FastAPI que permita obtener información de productos específicos utilizando tanto path parameters como query parameters.

Debes crear:

1. Un endpoint con la ruta /products/{product_id} donde product_id es un path parameter de tipo entero  

2. El endpoint debe aceptar tres query parameters opcionales:

  • include_price: booleano con valor por defecto False
  • include_stock: booleano con valor por defecto False
  • format: string con valor por defecto "summary"

3. La función debe devolver un diccionario con:

  • product_id: el ID del producto recibido como path parameter
  • name: un string que diga "Producto {product_id}"
  • category: un string que diga "Categoría {product_id % 3 + 1}" (esto dará categorías 1, 2 o 3)
  • price: solo si include_price es True, devolver un precio calculado como {product_id * 10}.99
  • stock: solo si include_stock es True, devolver un stock calculado como {product_id * 5}
  • format: el valor del query parameter format recibido
Empezar ejercicio de programación

Todos los ejercicios de programación de FastAPI

Evalúa tus conocimientos con ejercicios de programación en FastAPI de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tutorial para resolver este ejercicio de programación

FastAPI

Path parameters y query parameters

API REST

Otros tutoriales de programación con FastAPI

Introducción A Fastapi

Introducción Y Entorno

Instalación De Fastapi Y Configuración

Introducción Y Entorno

Respuestas Y Códigos De Estado

Api Rest

Documentación Automática Swagger/openapi

Api Rest

Métodos Delete

Api Rest

Manejo De Errores Y Excepciones

Api Rest

Métodos Put Y Patch

Api Rest

Métodos Post

Api Rest

Validación De Datos Con Pydantic 2

Api Rest

Dependency Injection

Api Rest

Rutas Y Parámetros

Api Rest

Métodos Get

Api Rest

Cabeceras Http Y Response Models

Api Rest

Validaciones Y Constraints

Orm

Repository Pattern En Fastapi

Orm

Alembic Para Migraciones

Orm

Modelos Sqlalchemy Y Pydantic Schemas

Orm

Introducción A Sqlalchemy Con Fastapi

Orm

Testing En Fastapi

Orm

Consultas Con Joins Y Filtros

Orm

Asociaciones De Modelos

Orm

Dtos Y Mappers

Orm

Operaciones Crud Y Consultas

Orm

Conexión De Fastapi Con Sqlalchemy

Orm

Service Layer En Fastapi

Orm

Tipos De Datos En Modelos

Orm

Templates En Fastapi

Templates

Servir Archivos Estáticos

Templates

Estructuras De Control En Jinja2

Templates

Apirouter Para Organización

Templates

Instalación Y Configuración Jinja En Fastapi

Templates

Funciones Y Macros En Jinja2

Templates

Sintaxis De Jinja2

Templates

Herencia De Plantillas Y Bloques Con Jinja2

Templates

Rutas Html Con Htmlresponse Y Datos Dinámicos

Templates

Consumo De Api Interna En Plantillas Jinja2

Templates

Formularios Html

Templates

Mensajes Flash Y Confirmaciones Visuales

Templates

Integración Completa: Api, Sqlalchemy Y Jinja2

Templates

Testing De Templates Con Testclient

Templates

Subir Archivos

Templates

Búsqueda Y Filtros En Templates Jinja2

Templates

Bootstrap Css En Fastapi

Templates

Introducción A Async/await

Asincronía

Websockets

Asincronía

Http Async En Fastapi

Asincronía

Background Tasks

Asincronía

Bases De Datos Asíncronas

Asincronía

Hash Con Passlib

Seguridad

Rate Limiting

Seguridad

Oauth2 Con Fastapi

Seguridad