pub trait Request: DeserializeOwned {
    type Args;

    fn request(client: &Client, args: Self::Args) -> RequestResponse<Self>;
}
Expand description

API 接口的实现 trait

所有对 bilibili 的请求都应该实现这个 trait,如

use biliapi::requests::{Request, BiliResponseExt, RequestResponse};
use serde::Deserialize;
use reqwest::Client;

#[derive(Debug, Deserialize)]
struct SomeApi {
    pub field: i32
}
impl Request for SomeApi {
    type Args = i64;
    fn request(client: &Client, args: i64) -> RequestResponse<Self> {
        let request = client.get("https://api.bilibili.com/some/api")
            .query(&[("id", args)])
            .send();
        Box::pin(async move {
            // 这里需要引入 `BiliResponseExt`
            request.await?.bili_data().await
        })

    }
}

Required Associated Types

请求对应的参数

Required Methods

请求的实现

Implementors