Bird
Raised Fist0
FastAPIframework~10 mins

Example data in schema in FastAPI - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define example data in a Pydantic schema.

FastAPI
from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int

    class Config:
        schema_extra = {"example": [1] }
Drag options to blanks, or click blank then click option'
A{"name": "Alice", "age": 30}
B{"name": "Bob", "age": 25}
C{"name": "Charlie", "age": 40}
D{"name": "Diana", "age": 22}
Attempts:
3 left
💡 Hint
Common Mistakes
Using a list instead of a dictionary for example data.
Not matching keys to model fields.
Using incorrect syntax for the example dictionary.
2fill in blank
medium

Complete the code to add example data for a Product schema.

FastAPI
from pydantic import BaseModel

class Product(BaseModel):
    id: int
    name: str
    price: float

    class Config:
        schema_extra = {"example": [1] }
Drag options to blanks, or click blank then click option'
A{"id": 1, "name": "Laptop", "price": "cheap"}
B{"id": "one", "name": "Laptop", "price": 999.99}
C{"id": 1, "name": 123, "price": 999.99}
D{"id": 1, "name": "Laptop", "price": 999.99}
Attempts:
3 left
💡 Hint
Common Mistakes
Using string instead of int for id.
Using number instead of string for name.
Using string instead of float for price.
3fill in blank
hard

Fix the error in the example data for the Address schema.

FastAPI
from pydantic import BaseModel

class Address(BaseModel):
    street: str
    city: str
    zipcode: str

    class Config:
        schema_extra = {"example": [1] }
Drag options to blanks, or click blank then click option'
A{"street": "123 Main St", "city": "Springfield", "zipcode": "12345"}
B{"street": "123 Main St", "city": "Springfield", "zipcode": 12345}
C{"street": 123, "city": "Springfield", "zipcode": "12345"}
D{"street": "123 Main St", "city": 456, "zipcode": "12345"}
Attempts:
3 left
💡 Hint
Common Mistakes
Using an integer for zipcode instead of a string.
Using numbers for street or city fields.
4fill in blank
hard

Fill both blanks to add example data for a BlogPost schema with title and tags.

FastAPI
from pydantic import BaseModel
from typing import List

class BlogPost(BaseModel):
    title: str
    tags: List[str]

    class Config:
        schema_extra = {"example": {"title": [1], "tags": [2]
Drag options to blanks, or click blank then click option'
A"My First Post"
B["python", "fastapi"]
C"Another Post"
D["java", "spring"]
Attempts:
3 left
💡 Hint
Common Mistakes
Using list for title or string for tags.
Not quoting the string values.
5fill in blank
hard

Fill all three blanks to add example data for a UserProfile schema with username, email, and active status.

FastAPI
from pydantic import BaseModel

class UserProfile(BaseModel):
    username: str
    email: str
    active: bool

    class Config:
        schema_extra = {"example": {"username": [1], "email": [2], "active": [3]
Drag options to blanks, or click blank then click option'
A"user123"
B"user@example.com"
Ctrue
Dfalse
Attempts:
3 left
💡 Hint
Common Mistakes
Not quoting string values.
Quoting boolean values as strings.
Using invalid boolean literals.

Practice

(1/5)
1. What is the main purpose of adding example data in a FastAPI schema field?
easy
A. To automatically generate database tables
B. To validate the data type of the field at runtime
C. To encrypt the field data before sending
D. To show sample values for API fields to help users understand expected data

Solution

  1. Step 1: Understand the role of example data in FastAPI

    Example data is used to provide sample values in API documentation, helping users know what to send or expect.
  2. Step 2: Differentiate example data from validation or encryption

    Example data does not validate or encrypt; it only shows sample values in docs.
  3. Final Answer:

    To show sample values for API fields to help users understand expected data -> Option D
  4. Quick Check:

    Example data = sample values [OK]
Hint: Example data shows sample values in docs, not validation [OK]
Common Mistakes:
  • Confusing example with validation
  • Thinking example encrypts data
  • Assuming example creates database schema
2. Which of the following is the correct way to add example data to a Pydantic model field in FastAPI?
easy
A. name: str = Field(example="John Doe")
B. name: str = Field(default="John Doe")
C. name: str = Field(description="John Doe")
D. name: str = Field(required=True)

Solution

  1. Step 1: Recall the Field syntax for example data

    FastAPI uses Field(..., example=...) to add example data to schema fields.
  2. Step 2: Identify the correct option

    name: str = Field(example="John Doe") uses Field(example="John Doe"), which is the correct syntax for example data.
  3. Final Answer:

    name: str = Field(example="John Doe") -> Option A
  4. Quick Check:

    Field(example=...) = correct syntax [OK]
Hint: Use Field(example=...) to add example data [OK]
Common Mistakes:
  • Using default instead of example
  • Confusing description with example
  • Omitting Field() entirely
3. Given this Pydantic model in FastAPI:
from pydantic import BaseModel, Field

class User(BaseModel):
    username: str = Field(..., example="alice123")
    age: int = Field(..., example=30)

What example data will appear in the OpenAPI docs for the age field?
medium
A. "30"
B. 30
C. None
D. 0

Solution

  1. Step 1: Check the example value assigned to the age field

    The age field has example=30, which is an integer value 30.
  2. Step 2: Understand how example data is shown in docs

    FastAPI shows the example exactly as given, so the example for age will be 30 (integer).
  3. Final Answer:

    30 -> Option B
  4. Quick Check:

    Example for age = 30 [OK]
Hint: Example shows exact value given in Field(example=...) [OK]
Common Mistakes:
  • Thinking example converts int to string
  • Assuming example is None if not set
  • Confusing example with default value
4. Identify the error in this FastAPI Pydantic model using example data:
from pydantic import BaseModel, Field

class Item(BaseModel):
    name: str = Field(example=123)
    price: float = Field(..., example="9.99")
medium
A. Example for name should be a string, not an integer
B. Missing default value for name field
C. Example for price should be a float, not a string
D. Field(...) is missing for name field

Solution

  1. Step 1: Check example data types against field types

    The name field is str but example=123 (int) is allowed but not ideal; price is float but example="9.99" is a string, which is incorrect.
  2. Step 2: Identify the type mismatch causing error

    Example for price should be a float (9.99), not a string "9.99"; this can cause schema confusion.
  3. Final Answer:

    Example for price should be a float, not a string -> Option C
  4. Quick Check:

    Example type must match field type [OK]
Hint: Match example type to field type exactly [OK]
Common Mistakes:
  • Using string example for numeric fields
  • Ignoring type mismatch warnings
  • Omitting Field(...) for required fields
5. You want to create a FastAPI schema for a product with a nested model and provide example data for both levels. Which is the correct way to add example data for nested fields?
hard
A. Use example in Field() for each nested field separately
B. Add example data only to the top-level model, nested fields inherit automatically
C. Use example only in the nested model class, not in the parent
D. Example data cannot be added to nested models in FastAPI

Solution

  1. Step 1: Understand example data usage in nested models

    Each field in nested models needs its own example data using Field(example=...) to show correct samples in docs.
  2. Step 2: Confirm nested fields do not inherit example data

    Example data is not inherited; you must specify it explicitly for each nested field.
  3. Final Answer:

    Use example in Field() for each nested field separately -> Option A
  4. Quick Check:

    Example data must be set per field [OK]
Hint: Add example=... to every nested field explicitly [OK]
Common Mistakes:
  • Assuming nested fields inherit example data
  • Skipping example in nested models
  • Thinking example data is only for top-level fields
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard