dingdanquanliucheng/backend/app/core/responses.py

30 lines
915 B
Python
Raw Normal View History

"""统一 API 响应格式构造工具。
所有 API 返回值通过 success_payload / success_response 包装
保证前端收到的 JSON 结构始终为 { code, message, data }
"""
2026-05-14 10:15:51 +08:00
from typing import Any
2026-05-14 13:51:06 +08:00
from backend.app.core.error_codes import ErrorCode
2026-05-14 10:15:51 +08:00
2026-05-14 13:51:06 +08:00
def success_response(data: Any = None, message: str = "success") -> dict[str, Any]:
"""构造标准成功响应字典。
被路由层直接使用返回给 FastAPI 框架序列化
Args:
data: 响应数据可以是字典列表等任意可序列化对象
message: 响应提示信息默认 "success"
Returns:
dict: 包含 codemessagedata 三个字段的响应字典
"""
2026-05-14 13:51:06 +08:00
# 成功响应统一走这里,便于后续扩展 trace_id 等字段。
return {
"code": ErrorCode.SUCCESS,
"message": message,
"data": {} if data is None else data,
}