跳转至

配置参考手册

本文档详细介绍了 CRUDConfig 类的所有可用配置项。

基础用法

配置可以通过 CRUDRouterconfig 参数传递,或者直接作为关键字参数传递(部分支持,建议使用 CRUDConfig 对象)。

from fastapi_easy import CRUDRouter, CRUDConfig

config = CRUDConfig(
    enable_filters=True,
    default_limit=20
)

router = CRUDRouter(
    schema=Item,
    adapter=adapter,
    config=config
)

CRUDConfig 参数详解

功能开关 (Feature Toggles)

参数名 类型 默认值 描述
enable_filters bool True 是否启用搜索和过滤功能
enable_sorters bool True 是否启用排序功能
enable_pagination bool True 是否启用分页功能
enable_soft_delete bool False 是否启用软删除(逻辑删除)
enable_audit bool False 是否启用审计日志(需配合 Adapter 支持)
enable_bulk_operations bool False 是否启用批量操作 API
enable_delete_all bool False 是否启用"删除所有" API (危险操作)

过滤与排序 (Filtering & Sorting)

参数名 类型 默认值 描述
filter_fields List[str] None 允许过滤的字段列表。如果为 None,则不限制(不推荐)。
sort_fields List[str] None 允许排序的字段列表。如果为 None,则不限制。
default_sort str None 默认排序字段(如 "-created_at")。

分页 (Pagination)

参数名 类型 默认值 描述
default_limit int 10 默认每页显示的记录数。
max_limit int 100 允许的最大每页记录数(防止恶意请求)。

软删除 (Soft Delete)

参数名 类型 默认值 描述
deleted_at_field str "deleted_at" 数据库中用于标记删除时间的字段名。

错误处理与日志 (Error Handling & Logging)

参数名 类型 默认值 描述
include_error_details bool True 是否在 API 错误响应中包含详细调试信息。
log_errors bool True 是否将错误记录到系统日志。

其他

参数名 类型 默认值 描述
metadata Dict {} 用于存储自定义元数据的字典,可在钩子中访问。

动态更新配置

你可以在运行时更新配置:

router.update_config(default_limit=50, enable_delete_all=True)

或者获取当前配置:

current_config = router.get_config()
print(current_config.default_limit)