3 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2018年4月8日 |
---|---|
0.1.1 | 2018年3月27日 |
0.1.0 | 2018年1月16日 |
#318 in #http-client
77KB
826 行
kitsu.rs
一个非官方的 Rust 库,作为 Kitsu API 的包装器,提供异步 hyper (v0.11) 和同步 reqwest (v0.8) 的实现。
注意:该库支持从 API 获取数据,但当前不支持认证请求。
编译功能
- hyper-support:支持编译带有
hyper
的功能 - reqwest-support:支持编译带有
reqwest
的功能(默认)
安装
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
kitsu = "0.2"
启用 hyper
和 reqwest
的支持
[dependencies.kitsu]
version = "0.2"
features = ["hyper-support", "reqwest-support"]
启用 hyper
但不启用 reqwest
的支持
[dependencies.kitsu]
version = "0.2"
default-features = false
features = ["hyper-support"]
示例
使用 reqwest,使用用户输入的字符串搜索动漫
extern crate kitsu;
extern crate reqwest;
use kitsu::KitsuReqwestRequester;
use reqwest::Client;
use std::io::{self, Write};
fn main() {
// Create the reqwest Client.
let client = Client::new();
// Read an anime name to search for from the users input.
let mut input = String::new();
print!("Enter an anime name to search for:\n>");
let _ = io::stdout().flush();
io::stdin().read_line(&mut input).expect("Error reading input");
let input_trimmed = input.trim();
// Search for the anime.
let anime = client.search_anime(|f| f.filter("text", input_trimmed))
.expect("Error searching for anime");
// Print out the response of the request.
if let Some(ref picked) = anime.data.first() {
let title = &picked.attributes.canonical_title;
if let Some(ref rating) = picked.attributes.average_rating {
println!("Found Anime: {} - {}", title, rating);
} else {
println!("Found Anime: {} - ??", title);
}
} else {
println!("No Anime Found.");
}
}
有关更多示例,请参阅 示例文件夹。
许可证
ISC。查看完整许可证 此处。
依赖项
~0.8–12MB
~142K SLoC