I can able to find a way to convert camelcase type based request body to snake case one by using Alias Generator, But for my response, I again want to inflect snake case type to camel case type post to the schema validation. Is there any way I can achieve this?
Example: I do have a python dict as below,
{
"title_name": "search001",
"status_type": "New"
}
And post to the pydantic schema validation my dict should convert snake case type to camel case as below,
{
"titleName": "search001",
"statusType": "New"
}
How can I define a pydantic schema to achieve the above problem?
Thanks in advance.
You can use Alias Generator
from pydantic import BaseModel
def to_snake_case(string: str) -> str:
return ''.join(['_' + i.lower() if i.isupper() else i for i in string]).lstrip('_')
class MyModel(BaseModel):
titleName: str
statusType: str
class Config:
alias_generator = to_snake_case
data = {
"title_name": "search001",
"status_type": "New"
}
print(MyModel(**data).dict()) # {'titleName': 'search001', 'statusType': 'New'}