9个版本 (5个重大更新)
使用旧的Rust 2015
0.6.1 | 2016年10月4日 |
---|---|
0.5.0 | 2016年6月30日 |
0.4.2 | 2016年1月26日 |
0.4.1 | 2015年9月13日 |
0.2.0 | 2015年7月23日 |
#141 in #rest
每月25次下载
11KB
197 代码行
Ease - Rust的HTTP客户端
Ease
是一个用于与RESTful API交互的库。
示例
在 Cargo.toml
中添加
[dependencies]
ease = "*"
发起GET请求并打印结果
extern crate ease;
use ease::{Url, Request};
fn main() {
let url = Url::parse("http://httpbin.org/get").unwrap();
println!("{}", Request::new(url).param("foo", "bar").get().unwrap().body);
}
发起POST请求并使用 serde 反序列化JSON响应
#![feature(custom_derive, plugin)]
#![plugin(serde_macros)]
extern crate ease;
use std::collections::HashMap;
use ease::{Url, Request};
#[derive(Deserialize, Debug)]
struct PostResponse {
args: HashMap<String, String>,
data: Option<String>,
files: Option<HashMap<String, String>>,
form: Option<HashMap<String, String>>,
headers: HashMap<String, String>,
json: Option<String>,
origin: String,
url: String,
}
fn main() {
let url = Url::parse("http://httpbin.org/post").unwrap();
println!("{:#?}", Request::new(url).post().and_then(|res| res.from_json::<PostResponse>()));
}
文档
在线文档可用,可以使用 cargo doc
命令构建本地副本。
许可证
许可协议为以下之一:
- Apache License,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确说明,否则根据Apache-2.0许可证定义的,你有意提交以包含在作品中的任何贡献,都应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~6MB
~142K SLoC