diff --git a/fastapi/_compat.py b/fastapi/_compat.py index 227ad837d..aac167b02 100644 --- a/fastapi/_compat.py +++ b/fastapi/_compat.py @@ -93,7 +93,13 @@ if PYDANTIC_V2: @property def alias(self) -> str: - a = self.field_info.alias + match self.mode: + case "validation" if self.field_info.validation_alias is not None: + a = self.field_info.validation_alias + case "serialization" if self.field_info.serialization_alias is not None: + a = self.field_info.serialization_alias + case _: + a = self.field_info.alias return a if a is not None else self.name @property