LearnThatStack Ace your next interview
FastAPI · question
Question 3 of 51

How do you handle request bodies in FastAPI?

beginner
← All FastAPI questions
Re-explain

You declare a Pydantic model and use it as the type of a path operation parameter, and FastAPI treats that parameter as the request body.

from pydantic import BaseModel
from fastapi import FastAPI

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = False

@app.post("/items/")
def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

FastAPI reads the body as JSON, converts each field to its declared type and validates it. It then hands you an Item instance with editor completion on every field. If the data is invalid, FastAPI returns a 422 response before your function runs. Its detailed error messages name each bad field and say what was wrong.

FastAPI decides where each parameter comes from. A name that appears in the path is a path parameter. A single type such as int or str is a query parameter, and a Pydantic model is the body.

Fields with a default, such as is_offer, are optional in the JSON. The model also becomes a JSON Schema in the generated OpenAPI docs.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

The diagram below the answer is the concept . Jump to it ↓

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

Saved in this browser - sign in to keep your review list.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Interview lens

Likely follow-ups, what you can say, and the weak answers to avoid.

Sign in free to open it Free account - the lens opens as soon as you're back.

Want a quick review of the fundamentals? See the FastAPI cheatsheet.

← Back to all FastAPI questions
Pro · $10/mo

45 of 51 FastAPI answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime