Skip to main content

validate_begin_num

Function validate_begin_num 

Source
pub fn validate_begin_num(
    begin: i32,
    num: i32,
    max_num: i32,
    endpoint: &str,
) -> Result<PageBounds, PageBoundsError>
Expand description

校验 (begin, num) 分页参数. C++ 对应做法是 backend 收到非法值返 result_code != 0, daemon 提前 loud reject 减少 backend 往返.

endpoint 用于错误 message (例如 “warrant” / “stock_filter”)

严格规则 (与 C++ backend 一致):

  • begin 必须 >= 0
  • num 必须 >= 0 且 <= max_num (不静默 clamp 0 → 1; 0 对齐 C++ 为空页请求)

max_num 由调用方按 endpoint 传:

  • warrant: 200 (C++ APIServer_Qot_Warrant.cpp 只拒 num<0 / num>200; NNBiz_Qot_WarrantFilter.cpp 将 page_count 原样下发)
  • stock_filter: 200 (C++ APIServer_Qot_StockFilter.cpp 只拒 num<0 / num>200; NNBiz_Qot_StockFilter.cpp 对 0 计算空页)