Skip to content

Conversation

chang-ph
Copy link

@chang-ph chang-ph commented Jun 13, 2025

Allows query parameters to be defined as the union of schemas. For example:

class Rect(Schema):
    type: Literal["RECT"]
    width: float
    height: float

class Circle(Schema):
    type: Literal["CIRCLE"]
    redius: float
    x_center: float
    y_center: float

class QueryParams(Schema):
    q: Annotated[Rect | Circle, Field(discriminator="type")]

@api.get("/")
def handler(request, query: QueryParams = Query(...)):
    pass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant