3个版本 (重大更改)

0.3.0 2018年12月28日
0.2.0 2018年7月16日
0.1.0 2018年6月25日

#19 in #server-response


用于 rpc-cli

MIT 协议

10KB
244

#rpc-lib

这是一个用于向服务器发送请求的RPC 2.0库,它已被修改以处理一些非标准服务器响应,例如字符串错误返回值。

为什么不使用严格的RPC 2.0响应

因为我支持一些略微偏离规范的旧版Go RPC服务器,然而,这也会支持正确的RPC 2.0规范。

要求

在Linux上

在Windows和macOS上

  • 无。

用法

首先,将以下内容添加到您的Cargo.toml

[dependencies]
rpc-lib = "1.0.0"

以下是一个示例,以帮助您入门

extern crate rpc_lib;
extern crate serde;
#[macro_use]
extern crate serde_derive;

use rpc_lib::client::prelude::*;
use std::error::Error;

#[derive(Serialize)]
struct Input {
    id: String,
}

#[derive(Deserialize, Debug)]
struct Project {
    id: String,
    url: String,
    enabled: bool,
}

fn main() -> Result<(), Box<Error>> {
    let input = Input {
        id: "x0x0x0x0".to_string(),
    };
    let client = Client::new("https://127.0.0.1:4000/rpc");
    let res: Project = client.call("1", "Project.Find", input)?;
    println!("{:?}", res);
    Ok(())
}

依赖关系

~19MB
~425K SLoC