Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
¿Cómo pasar el parámetro de ruta al modelo Pydantic?

¿Hay alguna manera de hacer lo siguiente?

 from typing import Optional from fastapi import FastAPI from pydantic import BaseModel class Item(BaseModel): id: str name: str description: Optional[str] = None price: float tax: Optional[float] = None app = FastAPI() @app.post("/items/{item_id}") async def create_item(item: Item): return item

Quiero tener el valor del parámetro de ruta item_id dentro del modelo Item .

¿Es posible?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Pydantic en FastAPI se usa para definir el modelo de datos. Puedes hacer lo siguiente:

 from typing import Optional from fastapi import FastAPI from pydantic import BaseModel class Item(BaseModel): id: Optional[str] = None name: str description: Optional[str] = None price: float tax: Optional[float] = None app = FastAPI() @app.post("/items/{item_id}") async def create_item(item_id, item: Item): item.id = item_id return item

Tenga en cuenta que la id se declara como opcional para evitar problemas de validación con los parámetros del cuerpo en la solicitud. Efectivamente, no vas a pasar el id en el cuerpo sino en el camino.

Si es necesario, también puede desacoplar la solicitud del modelo de respuesta (ver aquí ). Depende de lo que necesites.

over 4 years ago · Santiago Trujillo Report

0

  1. Reemplace su id: str con id: Optional [str] = None

  2. Reemplaza tu c reate_item (item: Item) con create_item (item_id, item: Item):

  3. Agregue item.id = item_id debajo de su async . Obviamente, entonces dejas el artículo de devolución ruo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!