Is it possible to get query params with Pydantic if param's name use special symbols?

Viewed 605

I'm handling this request in my code (Python3.9, FastAPI, Pydantic):

https://myapi.com/api?params[A]=1&params[B]=2

I tried to make following model: BaseModel for handling special get request (for fastapi.Query and pydantic.Field is same)

I also set up aliases for it, but in swagger docs I see next field: Snap of the swagger docs

There are fields that are specified as extra_data

So, if I specify query params in parameters of my endpoint like this:

@app.get('/')
def my_handler(a: str = Query(None, alias="params[A]")):
     return None

Everything works fine. How can I fix it? I want to initialize my pydantic.BaseModel with speacial aliases using this way and avoid usage of query-params in

class MyModel(BaseModel):
    a = Field(alias="params[A]") 
    b = Field(alias="params[B]")
def my_handler(model: MyModel = Depends()):
    return model.dict()
0 Answers
Related