2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2015年11月11日
0.1.0 2015年11月11日

#bool 中排名 37

MIT 许可证

7KB
87

json-request

Rust 库,用于与 JSON HTTP 服务器通信

使用方法

公开了一个方法 request,它可以执行 HTTP 请求并将 Rust 类型自动序列化和反序列化为 JSON。

extern crate rustc_serialize;
extern crate json_request;

use json_request::{request, Method};

#[derive(Debug, RustcEncodable)]
struct RequestData {
    ping: bool
}

#[derive(Debug, RustcDecodable)]
struct ResponseData {
    pong: bool
}

// `data` is the object to be serialized and sent to the HTTP server
let data = RequestData { ping: true };

// Actually build the request
let res = request(Method::Post, "http://example.com/", Some(data));

// Request returns a Result<Option<D>>; hence, two unwrap calls. The wrapped
// value has been deserialized from a JSON response.
let pong: ResponseData = res.unwrap().unwrap();

安装

将以下内容添加到您的 Cargo.toml 中

[dependencies.json-request]
git = "https://github.com/jwilm/json-request"

注意

  • 待办:在 GET 请求中,应该对 data 参数进行 URL 编码并将其附加到 URL 上。
  • 待办:最好有一个更易于用户使用的 DSL 宏

依赖项

~4.5MB
~76K SLoC