Trait biliapi::requests::Request [−][src]
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
})
}
}
Associated Types
Required methods
fn request(client: &Client, args: Self::Args) -> RequestResponse<Self>
fn request(client: &Client, args: Self::Args) -> RequestResponse<Self>
请求的实现