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>
[src]
fn request(client: &Client, args: Self::Args) -> RequestResponse<Self>
[src]请求的实现