#http-api #api-bindings #client #ulule

ulule-client

Ulule v1 HTTP API 客户端

3 个版本 (1 个稳定版)

1.0.0 2019年11月15日
0.1.1 2019年10月11日
0.1.0 2019年10月9日

#153 in #http-api

每月 30 次下载

MIT 许可证

30KB
382 行代码(不包括注释)

ulule-client

ulule on crates.io ulule-rust on docs.rs

Rust API 绑定库,用于 Ulule v1 HTTP API。此库依赖于 rust Futures 以支持异步使用。

Ulule API 文档

使用方法

将以下内容放入 Cargo.toml

[dependencies]
ulule = "1.0.0"
ulule_client = "0.0.3"

并在 crate 根目录中添加以下内容

extern crate ulule;
extern crate ulule_client;

测试

cargo test

示例

使用以下命令运行 examples 目录下的文件

cargo run --example <example> -- <example flags> <example args>

入门指南

要开始,创建一个客户端

let client = ulule_client::Client::new();

搜索最后三个创建的项目,匹配术语 beer 以及它们的所有者

use ulule::search;
use ulule_client::{search_projects, Client};

#[tokio::main]
async fn main() {
    let client = Client::new();
    let p = search::Params::new()
        .limit(2)
        .with_term("beer")
        .with_extra_fields(vec![
            "owner".to_string(),
            "main_tag".to_string(),
            "main_image".to_string(),
        ]);

    let first_page = search_projects(&client, Some(p)).await.unwrap();
    println!("first page: {:?}", first_page);

    if !first_page.meta.has_next() {
        return;
    }

    let second_page = search_projects(&client, first_page.meta.next).await.unwrap();
    println!("second page: {:?}", second_page)
}

依赖项

~3–8MB
~178K SLoC