openlark_core/api/
helpers.rs1use crate::SDKResult;
8use crate::error::validation_error;
9
10pub fn serialize_params<T: serde::Serialize>(
14 params: &T,
15 context: &str,
16) -> SDKResult<serde_json::Value> {
17 serde_json::to_value(params).map_err(|e| {
18 validation_error("request.params", format!("无法序列化请求参数: {e}")).map_context(|ctx| {
19 ctx.set_operation("serialize_params")
20 .add_context("resource", context);
21 })
22 })
23}
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28
29 #[test]
30 fn serialize_params_success() {
31 let params = vec!["a", "b"];
32 let v = serialize_params(¶ms, "测试").expect("序列化应成功");
33 assert_eq!(v, serde_json::json!(["a", "b"]));
34 }
35}