zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use crate::prelude2::*;

use std::collections::HashMap;

use chrono::NaiveDateTime;

pub async fn parse_datetime(
    query: web::Query<HashMap<String, String>>,
    request: HttpRequest,
) -> impl Responder {
    let datetime_str = query
        .get("datetime_str")
        .ok_or_else(|| Error::invalid_request("Missing query string parameter: datetime_str"))?;

    // Attempt to parse the date and time string
    match NaiveDateTime::parse_from_str(datetime_str, "%Y-%m-%dT%H:%M:%SZ") {
        Ok(parsed_date_time) => request.json(
            200,
            R::ok(parsed_date_time.format("%Y-%m-%dT%H:%M:%SZ").to_string()),
        ),
        Err(e) => request.json(200, R::failed(400, format!("{:?}", e))),
    }
}