Lorsqu'elle est implémentée à l'aide d'une API externe, la valeur de retour de l'API REST peut être un json CamelCase. Par exemple, cela arrive fréquemment lors de l'utilisation d'AWS avec boto3
en Python.
Ce serait un peu un problème compte tenu des normes de codage Python, mais pydantic
utilise la fonction ʻalias_generator`. (: //pydantic-docs.helpmanual.io/usage/model_config/#alias-generator) et vous pouvez facilement convertir un type à clé snake_case.
Dans la documentation, j'ai créé ma propre fonction appelée to_camel
, mais j'ai une bibliothèque externe ʻinflection` à utiliser dans diverses classes dans les opérations AWS. J'utilise.
from pydantic import BaseModel
from inflection import camelize
class Voice(BaseModel):
name: str
language_code: str
class Config:
alias_generator = camelize
voice = Voice(**{'Name': 'Filiz', 'LanguageCode': 'tr-TR'})
print(voice.language_code)
#> tr-TR
print(voice.dict(by_alias=True))
#> {'Name': 'Filiz', 'LanguageCode': 'tr-TR'}
Recommended Posts