Bei der Implementierung mit einer externen API kann der Rückgabewert der REST-API ein CamelCase-JSON sein. Beispielsweise kommt es häufig vor, wenn AWS mit boto3
in Python betrieben wird.
Das wäre angesichts der Python-Codierungsstandards ein kleines Problem, aber pydantic
verwendet die Funktion alias_generator
. (: //pydantic-docs.helpmanual.io/usage/model_config/#alias-generator) und Sie können problemlos in einen Typ mit Schlangenfall umwandeln.
In der Dokumentation habe ich meine eigene Funktion namens "to_camel" erstellt, aber ich habe eine externe Bibliothek "Flexion" zur Verwendung in verschiedenen Klassen in AWS-Operationen. Ich benutze.
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