diff --git a/fastapi/encoders.py b/fastapi/encoders.py index 4b7ffe313fa6b..cbfd8b56867e2 100644 --- a/fastapi/encoders.py +++ b/fastapi/encoders.py @@ -71,7 +71,17 @@ def jsonable_encoder( sqlalchemy_safe=sqlalchemy_safe, ) if dataclasses.is_dataclass(obj): - return dataclasses.asdict(obj) + return jsonable_encoder( + dataclasses.asdict(obj), + include=include, + exclude=exclude, + by_alias=by_alias, + exclude_unset=exclude_unset, + exclude_defaults=exclude_defaults, + exclude_none=exclude_none, + custom_encoder=custom_encoder, + sqlalchemy_safe=sqlalchemy_safe, + ) if isinstance(obj, Enum): return obj.value if isinstance(obj, PurePath):