Skip to main content

Module request_builder

Module request_builder 

Source
Expand description

文档服务通用请求构建器模块。 强制 Builder 模式实现

确保请求对象在构建时必填字段已设置,避免运行时验证错误。

§设计理念

  • 编译时验证: 在 build() 时验证所有必填字段
  • 类型安全: 使用 Option<T> 明确标记字段状态
  • 零开销: 仅在构建时验证,运行时无额外开销
  • 向后兼容: 保留旧 API,标记为 deprecated

§使用示例

use openlark_docs::common::request_builder::impl_required_builder;

impl_required_builder!(
    CreateRecordRequest,
    CreateRecordBuilder,
    required: [
        app_token: String,
        table_id: String
    ],
    optional: [
        user_id_type: String,
        client_token: String
    ]
);

// 使用方式
let request = CreateRecordRequest::builder()
    .app_token("app_xxx")
    .table_id("table_xxx")
    .user_id_type("open_id")
    .config(config)
    .build()?;