zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct TalkMessage {
    pub to: String,
    pub to_role: String,
    pub msg: String,
    pub msg_type: String,
}

impl TalkMessage {
    pub fn parse(data: &Option<serde_json::Value>) -> Result<Self, String> {
        if let Some(data) = data {
            match crate::commons::json_value_to_generic2::<Self>(data) {
                Ok(data) => Ok(data),
                Err(err) => Err(format!("invalid data: error={}", err)),
            }
        } else {
            Err("data field is required".to_string())
        }
    }
}