#json-rpc #axum #web #json-parser #http #validation #jrpc

axum-jrpc

Axum 的 JSON-RPC 提取器

17 个不稳定版本 (6 个重大更改)

0.7.1 2024年7月2日
0.7.0 2024年3月25日
0.6.1 2024年1月6日
0.5.1 2023年4月27日
0.2.1 2022年7月28日

#1103 in 网页编程

Download history 240/week @ 2024-05-01 129/week @ 2024-05-08 194/week @ 2024-05-15 169/week @ 2024-05-22 236/week @ 2024-05-29 165/week @ 2024-06-05 238/week @ 2024-06-12 416/week @ 2024-06-19 311/week @ 2024-06-26 612/week @ 2024-07-03 385/week @ 2024-07-10 289/week @ 2024-07-17 505/week @ 2024-07-24 473/week @ 2024-07-31 425/week @ 2024-08-07 280/week @ 2024-08-14

1,768 每月下载次数

MIT 许可证

25KB
604

axum 的 Json RPC 提取器

JsonRpcExtractor 解析 JSON-RPC 请求并验证其正确性。

use axum_jrpc::{JrpcResult, JsonRpcExtractor, JsonRpcResponse};

fn router(req: JsonRpcExtractor) -> JrpcResult {
    let req_id = req.get_answer_id()?;
    let method = req.method();
    let response =
        match method {
            "add" => {
                let params: [i32; 2] = req.parse_params()?;
                JsonRpcResponse::success(req_id, params[0] + params[1]);
            }
            m => req.method_not_found(m)
        };

    Ok(response)
}

Crates.io Documentation

依赖项

~5.5–8.5MB
~152K SLoC